safe/jmp/linux-2.6
15 years agom68k: use the new byteorder headers
Harvey Harrison [Tue, 18 Nov 2008 19:45:23 +0000 (20:45 +0100)]
m68k: use the new byteorder headers

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
15 years agofbcon: Protect free_irq() by MACH_IS_ATARI check
Geert Uytterhoeven [Tue, 18 Nov 2008 19:45:23 +0000 (20:45 +0100)]
fbcon: Protect free_irq() by MACH_IS_ATARI check

Add missing check for Atari in free_irq() call, which could cause problems on
multi-platform m68k kernels.

Reported-by: Brad Boyer <flar@allandria.com>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
15 years agofbcon: remove broken mac vbl handler
Finn Thain [Tue, 18 Nov 2008 19:45:23 +0000 (20:45 +0100)]
fbcon: remove broken mac vbl handler

Remove the Mac VBL interrupt code as it doesn't work properly and
doesn't bring any benefit when fixed. Also remove unused
DEFAULT_CURSOR_BLINK_RATE macro and irqres variable.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
15 years agom68k: fix trigraph ignored warning in setox.S
Finn Thain [Tue, 18 Nov 2008 19:45:22 +0000 (20:45 +0100)]
m68k: fix trigraph ignored warning in setox.S

Fix the warning: trigraph ??/ ignored, use -trigraphs to enable
caused by the recent removal of -traditional option.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
15 years agomacfb annotations and compiler warning fix
Finn Thain [Tue, 18 Nov 2008 19:45:22 +0000 (20:45 +0100)]
macfb annotations and compiler warning fix

Add some __iomem annotations. Remove some volatile qualifiers to fix
several compiler warnings: "passing arg 1 of `iounmap' discards qualifiers
from pointer target type".

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
15 years agom68k: mac baboon interrupt enable/disable
Finn Thain [Tue, 18 Nov 2008 19:45:21 +0000 (20:45 +0100)]
m68k: mac baboon interrupt enable/disable

No-one seems to know how to mask individual baboon interrupts, so we just
mask the umbrella IRQ. This will work as long as only the IDE driver uses
the baboon chip (it can't deadlock). Use mac_enable_irq/mac_disable_irq
rather than enable_irq/disable_irq because the latter routines count the
depth of nested calls which triggers a warning and call trace because
IRQ_NUBUS_C is enabled twice in a row (once when the baboon handler is
registered, and once when the IDE IRQ is registered).

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
15 years agom68k: machw.h cleanup
Finn Thain [Tue, 18 Nov 2008 19:45:20 +0000 (20:45 +0100)]
m68k: machw.h cleanup

Remove some more cruft from machw.h and drop the #include where it isn't
needed.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
15 years agom68k: Mac via cleanup and commentry
Finn Thain [Tue, 18 Nov 2008 19:45:20 +0000 (20:45 +0100)]
m68k: Mac via cleanup and commentry

No behavioural changes, just cleanups and better documentation.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
15 years agom68k: Reinstate mac rtc
Finn Thain [Tue, 18 Nov 2008 19:45:20 +0000 (20:45 +0100)]
m68k: Reinstate mac rtc

Reinstate the Mac hardware clock for CUDA ADB and Mac II ADB models.
It doesn't work properly on Mac IIsi ADB and PMU ADB yet, so leave them
out.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
15 years agonet: Allow dependancies of FDDI & Tokenring to be modular.
Dave Jones [Sun, 28 Dec 2008 04:43:48 +0000 (20:43 -0800)]
net: Allow dependancies of FDDI & Tokenring to be modular.

I noticed it isn't possible to build token ring & fddi drivers
without causing LLC, and a bunch of other things to be forced
built-in.  For distro kernels, this means carrying a chunk of
code in the vmlinuz, even if the user doesn't use those protocols.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoigb: Fix build warning when DCA is disabled.
David S. Miller [Fri, 26 Dec 2008 23:13:55 +0000 (15:13 -0800)]
igb: Fix build warning when DCA is disabled.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: Fix warning fallout from recent NAPI interface changes.
David S. Miller [Fri, 26 Dec 2008 23:10:00 +0000 (15:10 -0800)]
net: Fix warning fallout from recent NAPI interface changes.

When we removed the network device argument from several
NAPI interfaces in 908a7a16b852ffd618a9127be8d62432182d81b4
("net: Remove unused netdev arg from some NAPI interfaces.")
several drivers now started getting unused variable warnings.

This fixes those up.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agogro: Fix potential use after free
Herbert Xu [Fri, 26 Dec 2008 22:57:42 +0000 (14:57 -0800)]
gro: Fix potential use after free

The initial skb may have been freed after napi_gro_complete in
napi_gro_receive if it was merged into an existing packet.  Thus
we cannot check same_flow (which indicates whether it was merged)
after calling napi_gro_complete.

This patch fixes this by saving the same_flow status before the
call to napi_gro_complete.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosfc: If AN is enabled, always read speed/duplex from the AN advertising bits
Ben Hutchings [Fri, 26 Dec 2008 21:49:25 +0000 (13:49 -0800)]
sfc: If AN is enabled, always read speed/duplex from the AN advertising bits

When AN is enabled and the link is down the speed/duplex control bits
will not be meaningful.  Use the advertising bits instead, and mask
them with the LPA bits if and only if AN is complete (as before).

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosfc: When disabling the NIC, close the device rather than unregistering it
Ben Hutchings [Fri, 26 Dec 2008 21:48:51 +0000 (13:48 -0800)]
sfc: When disabling the NIC, close the device rather than unregistering it

This should reduce user confusion and may also aid recovery (ioctls
will still be available).

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosfc: SFT9001: Add cable diagnostics
Ben Hutchings [Fri, 26 Dec 2008 21:48:00 +0000 (13:48 -0800)]
sfc: SFT9001: Add cable diagnostics

The SFT9001 firmware implements cable diagnostics; run those and
include their results in a self-test.  In case of a cable fault, do
not fail the self-test as a whole; only faults in the NIC should cause
that.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosfc: Add support for multiple PHY self-tests
Ben Hutchings [Fri, 26 Dec 2008 21:47:25 +0000 (13:47 -0800)]
sfc: Add support for multiple PHY self-tests

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosfc: Merge top-level functions for self-tests
Ben Hutchings [Fri, 26 Dec 2008 21:47:04 +0000 (13:47 -0800)]
sfc: Merge top-level functions for self-tests

Pass in ethtool test flags to determine which tests to run.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosfc: Clean up PHY mode management in loopback self-test
Ben Hutchings [Fri, 26 Dec 2008 21:46:38 +0000 (13:46 -0800)]
sfc: Clean up PHY mode management in loopback self-test

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosfc: Fix unreliable link detection in some loopback modes
Ben Hutchings [Fri, 26 Dec 2008 21:46:12 +0000 (13:46 -0800)]
sfc: Fix unreliable link detection in some loopback modes

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosfc: Generate unique names for per-NIC workqueues
Ben Hutchings [Fri, 26 Dec 2008 21:44:39 +0000 (13:44 -0800)]
sfc: Generate unique names for per-NIC workqueues

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years ago802.3ad: use standard ethhdr instead of ad_header
Holger Eitzenberger [Fri, 26 Dec 2008 21:41:53 +0000 (13:41 -0800)]
802.3ad: use standard ethhdr instead of ad_header

802.3ad has its own ethhdr-like structure in the form of an ad_header,
which is at the start of both the LACPDU and marker PDU.  Both are
the same from the struct values, both are packed as well.

It's therefore perfectly fine to replace the ad_header by the ethhdr
and to remove its definition.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years ago802.3ad: generalize out mac address initializer
Holger Eitzenberger [Fri, 26 Dec 2008 21:40:48 +0000 (13:40 -0800)]
802.3ad: generalize out mac address initializer

Generalize out mac address initializer for the LACPDU multicast
address and use in two places.  Remove the now unused
AD_MULTICAST_LACPDU_ADDR.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years ago802.3ad: initialize ports LACPDU from const initializer
Holger Eitzenberger [Fri, 26 Dec 2008 21:28:33 +0000 (13:28 -0800)]
802.3ad: initialize ports LACPDU from const initializer

Save some text by initializing ports LACPDU from const initializer,
then get rid of ad_initialize_lacpdu().

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years ago802.3ad: remove typedef around ad_system
Holger Eitzenberger [Fri, 26 Dec 2008 21:27:57 +0000 (13:27 -0800)]
802.3ad: remove typedef around ad_system

As typedefs are considered a bad thing most of the time remove the
typedef around ad_system.

Signed-off-by: Holger Eitzenberger <heitzenberger@astaro.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years ago802.3ad: turn ports is_individual into a bool
Holger Eitzenberger [Fri, 26 Dec 2008 21:27:21 +0000 (13:27 -0800)]
802.3ad: turn ports is_individual into a bool

Turn ports is_individual into a bool.  There is no functional change.

Signed-off-by: Holger Eitzenberger <heitzenberger@astaro.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years ago802.3ad: turn ports is_enabled into a bool
Holger Eitzenberger [Fri, 26 Dec 2008 21:26:54 +0000 (13:26 -0800)]
802.3ad: turn ports is_enabled into a bool

Turn ports is_enabled into a bool.  There is no functional change.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years ago802.3ad: make ntt bool
Holger Eitzenberger [Fri, 26 Dec 2008 19:18:15 +0000 (11:18 -0800)]
802.3ad: make ntt bool

Turn Need-To-Transmit port variable into a bool.  There is no
functional change.

Signed-off-by: Holger Eitzenberger <holger@eitzenberger.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoixgbe: Fix set_ringparam in ixgbe to use the same memory pools.
Peter P Waskiewicz Jr [Fri, 26 Dec 2008 09:36:33 +0000 (01:36 -0800)]
ixgbe: Fix set_ringparam in ixgbe to use the same memory pools.

The adapter rings are kcalloc()'d, but in set_ringparam() in ixgbe_ethtool,
we replace that memory from the vmalloc() pool.  This can result in a NULL
pointer reference when trying to modify the rings at a later time, or on
device removal.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoixgbe: Fix NAPI enable/disable path when using DCB
Peter P Waskiewicz Jr [Fri, 26 Dec 2008 09:36:05 +0000 (01:36 -0800)]
ixgbe: Fix NAPI enable/disable path when using DCB

This change allows DCB mode to change the number of queues, and presumably
the number of NAPI instances, safely.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: Init NAPI dev_list on napi_del
Peter P Waskiewicz Jr [Fri, 26 Dec 2008 09:35:35 +0000 (01:35 -0800)]
net: Init NAPI dev_list on napi_del

The recent GRO patches introduced the NAPI removal of devices in
free_netdev.  For drivers that can change the number of queues during
driver operation, the NAPI infrastructure doesn't allow the freeing and
re-addition of NAPI entities without reloading the driver.

This change reinitializes the dev_list in each NAPI struct on delete,
instead of just deleting it (and assigning the list pointers to POISON).
Drivers that wish to remove/re-add NAPI will need to re-initialize the
netdev napi_list after removing all NAPI instances, before re-adding NAPI
devices again.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoigb: re-order queues to support cleaner use of ivar on 82576
Alexander Duyck [Fri, 26 Dec 2008 09:34:11 +0000 (01:34 -0800)]
igb: re-order queues to support cleaner use of ivar on 82576

The 82576 adapter orders the queues in pairs when virtualization is in use.
The queue ordering previously conflicted with the ordering when sr-iov was
enabled.  This new ordering allows a PF to allocate 2 queues without using
any VF resources.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoigb: defeature tx head writeback
Alexander Duyck [Fri, 26 Dec 2008 09:33:18 +0000 (01:33 -0800)]
igb: defeature tx head writeback

This patch removes tx head writeback as it was found to not provide a
significant improvement in tx performance and on some systems has been seen
to cause a performance degredation due to partial cache line writes.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoipsec: Remove useless ret variable
Herbert Xu [Fri, 26 Dec 2008 09:31:18 +0000 (01:31 -0800)]
ipsec: Remove useless ret variable

This patch removes a useless ret variable from the IPv4 ESP/UDP
decapsulation code.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoucc_geth: Eliminate the need for forward references
Anton Vorontsov [Tue, 23 Dec 2008 06:59:25 +0000 (06:59 +0000)]
ucc_geth: Eliminate the need for forward references

This patch simply reorders some functions to eliminate the need for
forward references. No other changes than that.

Suggested-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoatm: Driver for Solos PCI ADSL2+ card.
David Woodhouse [Tue, 23 Dec 2008 04:09:02 +0000 (04:09 +0000)]
atm: Driver for Solos PCI ADSL2+ card.

This adds basic support for the 'Solos' PCI ADSL2+ cards being developed
by Traverse Technologies and Xrio Ltd:
http://www.traverse.com.au/productview.php?product_id=116

Signed-off-by: Nathan Williams <nathan@traverse.com.au>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agogigaset: ifdef cleanup
Tilman Schmidt [Fri, 26 Dec 2008 09:22:03 +0000 (01:22 -0800)]
gigaset: ifdef cleanup

Remove unnecessary #ifdef-s and #if-0-ed code sections.

Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agogigaset: use pr_err() and pr_info()
Tilman Schmidt [Fri, 26 Dec 2008 09:21:29 +0000 (01:21 -0800)]
gigaset: use pr_err() and pr_info()

Switch from private printk wrapper macros to using pr_err() and
pr_info() from linux/kernel.h, at the same time unifying a few
error messages.

Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agocxgb3: add control to access embedded images
Divy Le Ray [Fri, 26 Dec 2008 09:16:39 +0000 (01:16 -0800)]
cxgb3: add control to access embedded images

Update contol path between cxgb3 and ULP modules (iWARP, iSCSI)
to provide access to firware and protocol engine info.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/wireless/prism54: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 08:15:03 +0000 (00:15 -0800)]
drivers/net/wireless/prism54: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/wireless/prism54/islpci_hotplug.c:97:1: warning: symbol 'prism54_probe' was not declared. Should it be static?
  drivers/net/wireless/prism54/islpci_hotplug.c:220:1: warning: symbol 'prism54_remove' was not declared. Should it be static?
  drivers/net/wireless/prism54/islpci_hotplug.c:263:1: warning: symbol 'prism54_suspend' was not declared. Should it be static?
  drivers/net/wireless/prism54/islpci_hotplug.c:286:1: warning: symbol 'prism54_resume' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/wireless/ipw2x00: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 08:14:41 +0000 (00:14 -0800)]
drivers/net/wireless/ipw2x00: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/wireless/ipw2x00/ipw2100.c:5271:6: warning: symbol 'ipw2100_queues_initialize' was not declared. Should it be static?
  drivers/net/wireless/ipw2x00/ipw2100.c:5278:6: warning: symbol 'ipw2100_queues_free' was not declared. Should it be static?
  drivers/net/wireless/ipw2x00/ipw2100.c:5285:5: warning: symbol 'ipw2100_queues_allocate' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/wireless/b43: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 08:13:46 +0000 (00:13 -0800)]
drivers/net/wireless/b43: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/wireless/b43/phy_a.c:80:6: warning: symbol 'b43_radio_set_tx_iq' was not declared. Should it be static?
  drivers/net/wireless/b43/phy_a.c:150:6: warning: symbol 'b43_radio_init2060' was not declared. Should it be static?
  drivers/net/wireless/b43/phy_g.c:57:10: warning: symbol 'b43_radio_channel_codes_bg' was not declared. Should it be static?
  drivers/net/wireless/b43/phy_g.c:218:6: warning: symbol 'b43_set_txpower_g' was not declared. Should it be static?
  drivers/net/wireless/b43/phy_g.c:386:6: warning: symbol 'b43_nrssi_hw_write' was not declared. Should it be static?
  drivers/net/wireless/b43/phy_g.c:393:5: warning: symbol 'b43_nrssi_hw_read' was not declared. Should it be static?
  drivers/net/wireless/b43/phy_g.c:404:6: warning: symbol 'b43_nrssi_hw_update' was not declared. Should it be static?
  drivers/net/wireless/b43/phy_g.c:418:6: warning: symbol 'b43_nrssi_mem_update' was not declared. Should it be static?
  drivers/net/wireless/b43/phy_g.c:592:6: warning: symbol 'b43_calc_nrssi_slope' was not declared. Should it be static?
  drivers/net/wireless/b43/phy_g.c:1357:5: warning: symbol 'b43_radio_init2050' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/wireless/ath9k: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 08:13:29 +0000 (00:13 -0800)]
drivers/net/wireless/ath9k: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/wireless/ath9k/eeprom.c:195:6: warning: symbol 'ath9k_fill_eeprom' was not declared. Should it be static?
  drivers/net/wireless/ath9k/eeprom.c:463:5: warning: symbol 'ath9k_check_eeprom' was not declared. Should it be static?
  drivers/net/wireless/ath9k/eeprom.c:1219:6: warning: symbol 'ath9k_hw_set_def_power_per_rate_table' was not declared. Should it be static?
  drivers/net/wireless/ath9k/eeprom.c:1510:6: warning: symbol 'ath9k_hw_set_4k_power_per_rate_table' was not declared. Should it be static?
  drivers/net/wireless/ath9k/eeprom.c:2007:5: warning: symbol 'ath9k_set_txpower' was not declared. Should it be static?
  drivers/net/wireless/ath9k/eeprom.c:2106:6: warning: symbol 'ath9k_set_addac' was not declared. Should it be static?
  drivers/net/wireless/ath9k/eeprom.c:2543:6: warning: symbol 'ath9k_eeprom_set_board_values' was not declared. Should it be static?
  drivers/net/wireless/ath9k/eeprom.c:2606:5: warning: symbol 'ath9k_get_eeprom_antenna_cfg' was not declared. Should it be static?
  drivers/net/wireless/ath9k/eeprom.c:2622:4: warning: symbol 'ath9k_hw_get_4k_num_ant_config' was not declared. Should it be static?
  drivers/net/wireless/ath9k/eeprom.c:2628:4: warning: symbol 'ath9k_hw_get_def_num_ant_config' was not declared. Should it be static?
  drivers/net/wireless/ath9k/eeprom.c:2647:4: warning: symbol 'ath9k_get_num_ant_config' was not declared. Should it be static?
  drivers/net/wireless/ath9k/eeprom.c:2790:5: warning: symbol 'ath9k_get_eeprom' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/wireless: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 08:12:59 +0000 (00:12 -0800)]
drivers/net/wireless: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/wireless/airo.c:3610:6: warning: symbol 'mpi_receive_802_11' was not declared. Should it be static?
  drivers/net/wireless/atmel.c:3183:6: warning: symbol 'atmel_join_bss' was not declared. Should it be static?
  drivers/net/wireless/ray_cs.c:831:5: warning: symbol 'ray_dev_init' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/wan/z85230.c: fix sparse warnings: un-EXPORT symbols
Hannes Eder [Fri, 26 Dec 2008 08:12:08 +0000 (00:12 -0800)]
drivers/net/wan/z85230.c: fix sparse warnings: un-EXPORT symbols

The symbols are only references within the translation unit they are
defined in, so un-EXPORT them und make them 'static'.

Fix this sparse warnings:

  drivers/net/wan/z85230.c:604:25: warning: symbol 'z8530_dma_sync' was not declared. Should it be static?
  drivers/net/wan/z85230.c:613:25: warning: symbol 'z8530_txdma_sync' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/wan: fix sparse warning: make symbol static
Hannes Eder [Fri, 26 Dec 2008 08:11:21 +0000 (00:11 -0800)]
drivers/net/wan: fix sparse warning: make symbol static

Fix this sparse warning:

  drivers/net/wan/x25_asy.c:623:5: warning: symbol 'x25_asy_esc' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/wan: fix sparse warnings: make do-while a compound statement
Hannes Eder [Mon, 22 Dec 2008 09:17:55 +0000 (09:17 +0000)]
drivers/net/wan: fix sparse warnings: make do-while a compound statement

Fix this sparse warnings:

  drivers/net/wan/wanxl.c:414:3: warning: do-while statement is not a compound statement
  drivers/net/wan/wanxl.c:441:3: warning: do-while statement is not a compound statement

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/tulip: fix sparse warnings: make do-while a compound statement
Hannes Eder [Fri, 26 Dec 2008 08:07:45 +0000 (00:07 -0800)]
drivers/net/tulip: fix sparse warnings: make do-while a compound statement

Fix this sparse warnings:

  drivers/net/tulip/de2104x.c:1695:4: warning: do-while statement is not a compound statement
  drivers/net/tulip/tulip_core.c:1433:5: warning: do-while statement is not a compound statement

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/tokenring: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 08:07:15 +0000 (00:07 -0800)]
drivers/net/tokenring: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/tokenring/ibmtr.c:1840:6: warning: symbol 'tok_rerun' was not declared. Should it be static?
  drivers/net/tokenring/madgemc.c:469:16: warning: symbol 'madgemc_setnselout_pins' was not declared. Should it be static?
  drivers/net/tokenring/proteon.c:286:16: warning: symbol 'proteon_setnselout_pins' was not declared. Should it be static?
  drivers/net/tokenring/skisa.c:303:16: warning: symbol 'sk_isa_setnselout_pins' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/skfp: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 08:06:28 +0000 (00:06 -0800)]
drivers/net/skfp: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/skfp/skfddi.c:620:13: warning: symbol 'skfp_interrupt' was not declared. Should it be static?
  drivers/net/skfp/skfddi.c:687:25: warning: symbol 'skfp_ctl_get_stats' was not declared. Should it be static?
  drivers/net/skfp/skfddi.c:1232:6: warning: symbol 'CheckSourceAddress' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/qlge: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 08:04:53 +0000 (00:04 -0800)]
drivers/net/qlge: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/qlge/qlge_ethtool.c:100:6: warning: symbol 'ql_update_stats' was not declared. Should it be static?
  drivers/net/qlge/qlge_mpi.c:22:5: warning: symbol 'ql_get_mb_sts' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/netxen: fix sparse warnings: use NULL pointer instead of plain integer
Hannes Eder [Fri, 26 Dec 2008 08:04:26 +0000 (00:04 -0800)]
drivers/net/netxen: fix sparse warnings: use NULL pointer instead of plain integer

Fix this sparse warnings:

  drivers/net/netxen/netxen_nic_hw.c:1462:18: warning: Using plain integer as NULL pointer
  drivers/net/netxen/netxen_nic_hw.c:1536:18: warning: Using plain integer as NULL pointer

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/ixgbe: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 08:03:59 +0000 (00:03 -0800)]
drivers/net/ixgbe: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/ixgbe/ixgbe_82598.c:180:5: warning: symbol 'ixgbe_get_copper_link_capabilities_82598' was not declared. Should it be static?
  drivers/net/ixgbe/ixgbe_82598.c:245:5: warning: symbol 'ixgbe_setup_fc_82598' was not declared. Should it be static?
  drivers/net/ixgbe/ixgbe_82598.c:729:5: warning: symbol 'ixgbe_set_vmdq_82598' was not declared. Should it be static?
  drivers/net/ixgbe/ixgbe_82598.c:773:5: warning: symbol 'ixgbe_set_vfta_82598' was not declared. Should it be static?
  drivers/net/ixgbe/ixgbe_82598.c:897:5: warning: symbol 'ixgbe_read_analog_reg8_82598' was not declared. Should it be static?
  drivers/net/ixgbe/ixgbe_82598.c:919:5: warning: symbol 'ixgbe_write_analog_reg8_82598' was not declared. Should it be static?
  drivers/net/ixgbe/ixgbe_82598.c:940:5: warning: symbol 'ixgbe_read_i2c_eeprom_82598' was not declared. Should it be static?
  drivers/net/ixgbe/ixgbe_82598.c:1000:5: warning: symbol 'ixgbe_get_supported_physical_layer_82598' was not declared. Should it be static?
  drivers/net/ixgbe/ixgbe_dcb_82598.c:100:5: warning: symbol 'ixgbe_dcb_config_packet_buffers_82598' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/irda: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 08:03:19 +0000 (00:03 -0800)]
drivers/net/irda: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/irda/ma600-sir.c:239:5: warning: symbol 'ma600_reset' was not declared. Should it be static?
  drivers/net/irda/smsc-ircc2.c:875:5: warning: symbol 'smsc_ircc_hard_xmit_sir' was not declared. Should it be static?
  drivers/net/irda/smsc-ircc2.c:1131:6: warning: symbol 'smsc_ircc_set_sir_speed' was not declared. Should it be static?
  drivers/net/irda/smsc-ircc2.c:1897:6: warning: symbol 'smsc_ircc_sir_start' was not declared. Should it be static?
  drivers/net/irda/w83977af_ir.c:150:5: warning: symbol 'w83977af_open' was not declared. Should it be static?
  drivers/net/irda/w83977af_ir.c:313:5: warning: symbol 'w83977af_probe' was not declared. Should it be static?
  drivers/net/irda/w83977af_ir.c:412:6: warning: symbol 'w83977af_change_speed' was not declared. Should it be static?
  drivers/net/irda/w83977af_ir.c:492:5: warning: symbol 'w83977af_hard_xmit' was not declared. Should it be static?
  drivers/net/irda/w83977af_ir.c:734:5: warning: symbol 'w83977af_dma_receive' was not declared. Should it be static?
  drivers/net/irda/w83977af_ir.c:806:5: warning: symbol 'w83977af_dma_receive_complete' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/igb: remove dead code (function 'igb_read_pci_cfg')
Hannes Eder [Fri, 26 Dec 2008 08:02:49 +0000 (00:02 -0800)]
drivers/net/igb: remove dead code (function 'igb_read_pci_cfg')

Fix this warning:

  drivers/net/igb/e1000_mac.c:54: warning: 'igb_read_pci_cfg' defined but not used

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/enic: fix sparse warning: make symbol static
Hannes Eder [Fri, 26 Dec 2008 08:01:18 +0000 (00:01 -0800)]
drivers/net/enic: fix sparse warning: make symbol static

Fix this sparse warning:

  drivers/net/enic/vnic_dev.c:288:5: warning: symbol 'vnic_dev_capable' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/e1000e: fix sparse warnings: make symbols static
Hannes Eder [Mon, 22 Dec 2008 09:16:13 +0000 (09:16 +0000)]
drivers/net/e1000e: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/e1000e/es2lan.c:1265:5: warning: symbol 'e1000_read_kmrn_reg_80003es2lan' was not declared. Should it be static?
  drivers/net/e1000e/es2lan.c:1298:5: warning: symbol 'e1000_write_kmrn_reg_80003es2lan' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/cxgb3: comment out dead code
Hannes Eder [Fri, 26 Dec 2008 07:59:28 +0000 (23:59 -0800)]
drivers/net/cxgb3: comment out dead code

The function 'vsc8211_set_speed_duplex' is not used, so comment it
out.  For 'vsc8211_set_automdi' the function 'vsc8211_set_speed_duplex'
is the only caller, so comment it out as well.

Fix this (sparse) warning:

  drivers/net/cxgb3/vsc8211.c:269: warning: 'vsc8211_set_automdi' defined but not used
  drivers/net/cxgb3/vsc8211.c:295:5: warning: symbol 'vsc8211_set_speed_duplex' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/bonding: fix sparse warnings: move decls to header file
Hannes Eder [Fri, 26 Dec 2008 07:58:57 +0000 (23:58 -0800)]
drivers/net/bonding: fix sparse warnings: move decls to header file

Fix this sparse warnings:

  drivers/net/bonding/bond_main.c:104:20: warning: symbol 'bonding_defaults' was not declared. Should it be static?
  drivers/net/bonding/bond_main.c:204:22: warning: symbol 'ad_select_tbl' was not declared. Should it be static?
  drivers/net/bonding/bond_sysfs.c:60:21: warning: symbol 'bonding_rwsem' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/atlx: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 07:58:35 +0000 (23:58 -0800)]
drivers/net/atlx: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/atlx/atl1.c:198:16: warning: symbol 'atl1_check_options' was not declared. Should it be static?
  drivers/net/atlx/atl1.c:526:5: warning: symbol 'atl1_read_mac_addr' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net/arcnet: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 07:57:21 +0000 (23:57 -0800)]
drivers/net/arcnet: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/arcnet/capmode.c:64:6: warning: symbol 'arcnet_cap_init' was not declared. Should it be static?
  drivers/net/arcnet/com90xx.c:586:5: warning: symbol 'com90xx_reset' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net: fix sparse warnings: make symbols static
Hannes Eder [Fri, 26 Dec 2008 07:56:45 +0000 (23:56 -0800)]
drivers/net: fix sparse warnings: make symbols static

Fix this sparse warnings:

  drivers/net/3c523.c:350:6: warning: symbol 'alloc586' was not declared. Should it be static?
  drivers/net/cs89x0.c:1029:14: warning: symbol 'reset_chip' was not declared. Should it be static?
  drivers/net/eepro.c:1399:1: warning: symbol 'read_eeprom' was not declared. Should it be static?
  drivers/net/plip.c:1020:5: warning: symbol 'plip_hard_header_cache' was not declared. Should it be static?
  drivers/net/s2io.c:5116:6: warning: symbol 'do_s2io_store_unicast_mc' was not declared. Should it be static?
  drivers/net/smc9194.c:767:12: warning: symbol 'smc_findirq' was not declared. Should it be static?

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net: fix sparse warning: returning void-valued expression
Hannes Eder [Fri, 26 Dec 2008 07:56:04 +0000 (23:56 -0800)]
drivers/net: fix sparse warning: returning void-valued expression

Fix this sparse warning:

  drivers/net/niu.c:8850:2: warning: returning void-valued expression

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net: fix sparse warnings: make do-while a compound statement
Hannes Eder [Fri, 26 Dec 2008 07:55:35 +0000 (23:55 -0800)]
drivers/net: fix sparse warnings: make do-while a compound statement

While at it insert some extra curly braces and fix formatting.

Fix this sparse warnings:

  drivers/net/atp.c:811:8: warning: do-while statement is not a compound statement
  drivers/net/atp.c:813:8: warning: do-while statement is not a compound statement
  drivers/net/atp.c:815:11: warning: do-while statement is not a compound statement
  drivers/net/atp.c:817:11: warning: do-while statement is not a compound statement
  drivers/net/plip.c:642:4: warning: do-while statement is not a compound statement
  drivers/net/plip.c:647:4: warning: do-while statement is not a compound statement
  drivers/net/plip.c:820:4: warning: do-while statement is not a compound statement
  drivers/net/plip.c:825:4: warning: do-while statement is not a compound statement
  drivers/net/starfire.c:886:3: warning: do-while statement is not a compound statement

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodrivers/net: fix sparse warning: use ANSI-style function declaration
Hannes Eder [Fri, 26 Dec 2008 07:52:57 +0000 (23:52 -0800)]
drivers/net: fix sparse warning: use ANSI-style function declaration

Fix this sparse warning:

  drivers/net/ne.c:932:24: warning: non-ANSI function declaration of function 'init_module'

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoehea: use get_zeroed_page for alignment-sensitive allocation
Nathan Lynch [Mon, 22 Dec 2008 08:42:11 +0000 (08:42 +0000)]
ehea: use get_zeroed_page for alignment-sensitive allocation

With slub debug enabled, I see the following errors and crash with
2.6.28-rc9:

IBM eHEA ethernet device driver (Release EHEA_0095)
ehea: Error in ehea_h_register_rpage_mr: not on pageboundary
ehea: Error in ehea_reg_mr_section: register_rpage_mr failed
ehea: Error in ehea_reg_kernel_mr: registering mr failed
ehea: Error in ehea_setup_ports: creating MR failed
ehea 23c00100.lhea: setup_ports failed
Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6bbdcb
Faulting instruction address: 0xd000000000064a24
cpu 0x0: Vector: 300 (Data Access) at [c0000000740e7190]
    pc: d000000000064a24: .ehea_update_firmware_handles+0x84/0x47c [ehea]
    lr: d00000000006df34: .ehea_probe_adapter+0x35c/0x39c [ehea]
    sp: c0000000740e7410
   msr: 8000000000009032
   dar: 6b6b6b6b6b6bbdcb
 dsisr: 40000000
  current = 0xc000000074233780
  paca    = 0xc0000000008a3300
    pid   = 2046, comm = modprobe
enter ? for help
[c0000000740e74f0d00000000006df34 .ehea_probe_adapter+0x35c/0x39c [ehea]
[c0000000740e75a0c00000000041d5a4 .of_platform_device_probe+0x78/0xb0
[c0000000740e7630c0000000002d8b38 .driver_probe_device+0x13c/0x200
[c0000000740e76c0c0000000002d8c90 .__driver_attach+0x94/0xd8
[c0000000740e7750c0000000002d7d64 .bus_for_each_dev+0x80/0xd8
[c0000000740e7800c0000000002d889c .driver_attach+0x28/0x40
[c0000000740e7880c0000000002d8340 .bus_add_driver+0xd4/0x284
[c0000000740e7920c0000000002d90a0 .driver_register+0xc4/0x198
[c0000000740e79d0c00000000041d45c .of_register_driver+0x4c/0x60
[c0000000740e7a50c000000000020ef8 .ibmebus_register_driver+0x30/0x4c
[c0000000740e7ae0d00000000006e108 .ehea_module_init+0x194/0x208c [ehea]
[c0000000740e7b90c000000000009028 .do_one_initcall+0x90/0x1ac
[c0000000740e7d90c00000000008619c .sys_init_module+0xc4/0x200
[c0000000740e7e30c0000000000084ac syscall_exit+0x0/0x40

(When slub debug is disabled it works fine.)

PAGE_SIZE allocations via slab are not guaranteed to be page-aligned;
use get_zeroed_page for the 'pt' buffer (I don't really know what this
is, only that it is passed to firmware and that the first error
message complains about its alignment).  This allows the system to
boot.

Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years ago[CIFS] Remove redundant test
Julia Lawall [Mon, 22 Dec 2008 21:53:40 +0000 (21:53 +0000)]
[CIFS] Remove redundant test

In fs/cifs/cifssmb.c, pLockData is tested for being NULL at the beginning
of the function, and not reassigned subsequently.

A simplified version of the semantic patch that makes this change is as
follows: (http://www.emn.fr/x-info/coccinelle/)

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years ago[CIFS] make sure that DFS pathnames are properly formed
Steve French [Thu, 18 Dec 2008 01:41:20 +0000 (01:41 +0000)]
[CIFS] make sure that DFS pathnames are properly formed

The paths in a DFS request are supposed to only have a single preceding
backslash, but we are sending them with a double backslash. This is
exposing a bug in Windows where it also sends a path in the response
that has a double backslash.

The existing code that builds the mount option string however expects a
double backslash prefix in a couple of places when it tries to use the
path returned by build_path_from_dentry. Fix compose_mount_options to
expect properly formed DFS paths (single backslash at front).

Also clean up error handling in that function. There was a possible
NULL pointer dereference and situations where a partially built option
string would be returned.

Tested against Samba 3.0.28-ish server and Samba 3.3 and Win2k8.

CC: Stable <stable@kernel.org>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agoRemove an already-checked error condition in SendReceiveBlockingLock
Volker Lendecke [Sat, 6 Dec 2008 15:40:40 +0000 (16:40 +0100)]
Remove an already-checked error condition in SendReceiveBlockingLock

Remove an already-checked error condition in SendReceiveBlockingLock

Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agoStreamline SendReceiveBlockingLock: Use "goto out:" in an error condition
Volker Lendecke [Sat, 6 Dec 2008 15:39:31 +0000 (16:39 +0100)]
Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition

Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition

Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agoStreamline SendReceiveBlockingLock: Use "goto out:" in an error condition
Volker Lendecke [Sat, 6 Dec 2008 15:38:19 +0000 (16:38 +0100)]
Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition

Streamline SendReceiveBlockingLock: Use "goto out:" in an error condition

Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years ago[CIFS] Streamline SendReceive[2] by using "goto out:" in an error condition
Steve French [Thu, 11 Dec 2008 17:26:54 +0000 (17:26 +0000)]
[CIFS] Streamline SendReceive[2] by using "goto out:" in an error condition

Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agoSlightly streamline SendReceive[2]
Volker Lendecke [Sat, 6 Dec 2008 15:22:15 +0000 (16:22 +0100)]
Slightly streamline SendReceive[2]

Slightly streamline SendReceive[2]

Remove an else branch by naming the error condition what it is

Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agoCheck the return value of cifs_sign_smb[2]
Volker Lendecke [Sat, 6 Dec 2008 15:00:53 +0000 (16:00 +0100)]
Check the return value of cifs_sign_smb[2]

Check the return value of cifs_sign_smb[2]

Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years ago[CIFS] Cleanup: Move the check for too large R/W requests
Steve French [Tue, 9 Dec 2008 00:28:16 +0000 (00:28 +0000)]
[CIFS] Cleanup: Move the check for too large R/W requests

This avoids an unnecessary else branch

Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years ago[CIFS] Slightly simplify wait_for_free_request(), remove an unnecessary "else" branch
Volker Lendecke [Mon, 8 Dec 2008 20:59:39 +0000 (20:59 +0000)]
[CIFS] Slightly simplify wait_for_free_request(), remove an unnecessary "else" branch

This is no functional change, because in the "if" branch we do an early
"return 0;".

Signed-off-by: Volker Lendecke <vl@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agoSimplify allocate_mid() slightly: Remove some unnecessary "else" branches
Volker Lendecke [Sat, 6 Dec 2008 12:12:34 +0000 (13:12 +0100)]
Simplify allocate_mid() slightly: Remove some unnecessary "else" branches

Simplify allocate_mid() slightly: Remove some unnecessary "else" branches

Signed-off-by: Volker Lendecke <vl@samba.org>
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years ago[CIFS] In SendReceive, move consistency check out of the mutexed region
Volker Lendecke [Mon, 8 Dec 2008 20:50:24 +0000 (20:50 +0000)]
[CIFS] In SendReceive, move consistency check out of the mutexed region

inbuf->smb_buf_length does not change in in wait_for_free_request() or in
allocate_mid(), so we can check it early.

Signed-off-by: Volker Lendecke <vl@samba.org>
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: store password in tcon
Jeff Layton [Sat, 6 Dec 2008 01:41:21 +0000 (20:41 -0500)]
cifs: store password in tcon

cifs: store password in tcon

Each tcon has its own password for share-level security. Store it in
the tcon and wipe it clean and free it when freeing the tcon. When
doing the tree connect with share-level security, use the tcon password
instead of the session password.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: have calc_lanman_hash take more granular args
Jeff Layton [Sat, 6 Dec 2008 01:41:21 +0000 (20:41 -0500)]
cifs: have calc_lanman_hash take more granular args

cifs: have calc_lanman_hash take more granular args

We need to use this routine to encrypt passwords associated with the
tcon too. Don't assume that the password will be attached to the
smb_session.

Also, make some of the values in the lower encryption functions
const since they aren't changed.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: zero out session password before freeing it
Jeff Layton [Sat, 6 Dec 2008 01:41:21 +0000 (20:41 -0500)]
cifs: zero out session password before freeing it

cifs: zero out session password before freeing it

...just to be on the safe side.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: fix wait_for_response to time out sleeping processes correctly
Jeff Layton [Sat, 6 Dec 2008 01:41:21 +0000 (20:41 -0500)]
cifs: fix wait_for_response to time out sleeping processes correctly

cifs: fix wait_for_response to time out sleeping processes correctly

The current scheme that CIFS uses to sleep and wait for a response is
not quite what we want. After sending a request, wait_for_response puts
the task to sleep with wait_event(). One of the conditions for
wait_event is a timeout (using time_after()).

The problem with this is that there is no guarantee that the process
will ever be woken back up. If the server stops sending data, then
cifs_demultiplex_thread will leave its response queue sleeping.

I think the only thing that saves us here is the fact that
cifs_dnotify_thread periodically (every 15s) wakes up sleeping processes
on all response_q's that have calls in flight.  This makes for
unnecessary wakeups of some processes. It also means large variability
in the timeouts since they're all woken up at once.

Instead of this, put the tasks to sleep with wait_event_timeout. This
makes them wake up on their own if they time out. With this change,
cifs_dnotify_thread should no longer be needed.

I've been testing this in conjunction with some other patches that I'm
working on. It doesn't seem to affect performance at all with with heavy
I/O. Identical iozone -ac runs complete in almost exactly the same time
(<1% difference in times).

Thanks to Wasrshi Nimara for initially pointing this out. Wasrshi, it
would be nice to know whether this patch also helps your testcase.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Cc: Wasrshi Nimara <warshinimara@gmail.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years ago[CIFS] Can not mount with prefixpath if root directory of share is inaccessible
Steve French [Fri, 5 Dec 2008 19:14:12 +0000 (19:14 +0000)]
[CIFS] Can not mount with prefixpath if root directory of share is inaccessible

Windows allows you to deny access to the top of a share, but permit access to
a directory lower in the path.  With the prefixpath feature of cifs
(ie mounting \\server\share\directory\subdirectory\etc.) this should have
worked if the user specified a prefixpath which put the root of the mount
at a directory to which he had access, but we still were doing a lookup
on the root of the share (null path) when we should have been doing it on
the prefixpath subdirectory.

This fixes Samba bug # 5925

Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years ago[CIFS] various minor cleanups pointed out by checkpatch script
Steve French [Wed, 3 Dec 2008 00:57:54 +0000 (00:57 +0000)]
[CIFS] various minor cleanups pointed out by checkpatch script

Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years ago[CIFS] fix typo
Steve French [Tue, 2 Dec 2008 20:52:28 +0000 (20:52 +0000)]
[CIFS] fix typo

Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years ago[CIFS] remove sparse warning
Steve French [Tue, 2 Dec 2008 18:53:55 +0000 (18:53 +0000)]
[CIFS] remove sparse warning

Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years ago[CIFS] add mount option to send mandatory rather than advisory locks
Steve French [Tue, 2 Dec 2008 17:24:33 +0000 (17:24 +0000)]
[CIFS] add mount option to send mandatory rather than advisory locks

Some applications/subsystems require mandatory byte range locks
(as is used for Windows/DOS/OS2 etc). Sending advisory (posix style)
byte range lock requests (instead of mandatory byte range locks) can
lead to problems for these applications (which expect that other
clients be prevented from writing to portions of the file which
they have locked and are updating).  This mount option allows
mounting cifs with the new mount option "forcemand" (or
"forcemandatorylock") in order to have the cifs client use mandatory
byte range locks (ie SMB/CIFS/Windows/NTFS style locks) rather than
posix byte range lock requests, even if the server would support
posix byte range lock requests.  This has no effect if the server
does not support the CIFS Unix Extensions (since posix style locks
require support for the CIFS Unix Extensions), but for mounts
to Samba servers this can be helpful for Wine and applications
that require mandatory byte range locks.

Acked-by: Jeff Layton <jlayton@redhat.com>
CC: Alexander Bokovoy <ab@samba.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: make ipv6_connect take a TCP_Server_Info arg
Jeff Layton [Mon, 1 Dec 2008 23:42:33 +0000 (18:42 -0500)]
cifs: make ipv6_connect take a TCP_Server_Info arg

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: make ipv4_connect take a TCP_Server_Info arg
Jeff Layton [Mon, 1 Dec 2008 23:42:15 +0000 (18:42 -0500)]
cifs: make ipv4_connect take a TCP_Server_Info arg

In order to unify the smb_send routines, we need to reorganize the
routines that connect the sockets. Have ipv4_connect take a
TCP_Server_Info pointer and get the necessary fields from that.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: don't declare smb_vol info on the stack
Jeff Layton [Mon, 1 Dec 2008 23:41:49 +0000 (18:41 -0500)]
cifs: don't declare smb_vol info on the stack

struct smb_vol is fairly large, it's probably best to kzalloc it...

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: move allocation of new TCP_Server_Info into separate function
Jeff Layton [Mon, 1 Dec 2008 23:41:46 +0000 (18:41 -0500)]
cifs: move allocation of new TCP_Server_Info into separate function

Clean up cifs_mount a bit by moving the code that creates new TCP
sessions into a separate function. Have that function search for an
existing socket and then create a new one if one isn't found.

Also reorganize the initializion of TCP_Server_Info a bit to prepare
for cleanup of the socket connection code.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: account for IPv6 in ses->serverName and clean up netbios name handling
Jeff Layton [Mon, 1 Dec 2008 20:23:50 +0000 (15:23 -0500)]
cifs: account for IPv6 in ses->serverName and clean up netbios name handling

The current code for setting the session serverName is IPv4-specific.
Allow it to be an IPv6 address as well. Use NIP* macros to set the
format.

This also entails increasing the length of the serverName field, so
declare a new macro for RFC1001 name length and use it in the
appropriate places.

Finally, drop the unicode_server_Name field from TCP_Server_Info since
it's not used. We can add it back later if needed, but for now it just
wastes memory.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: make dnotify thread experimental code
Jeff Layton [Mon, 1 Dec 2008 20:23:50 +0000 (15:23 -0500)]
cifs: make dnotify thread experimental code

Now that tasks sleeping in wait_for_response will time out on their own,
we're not reliant on the dnotify thread to do this. Mark it as
experimental code for now.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: convert tcpSem to a mutex
Jeff Layton [Mon, 1 Dec 2008 12:09:36 +0000 (07:09 -0500)]
cifs: convert tcpSem to a mutex

Mutexes are preferred for single-holder semaphores...

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: take module reference when starting cifsd
Jeff Layton [Mon, 1 Dec 2008 12:09:35 +0000 (07:09 -0500)]
cifs: take module reference when starting cifsd

cifsd can outlive the last cifs mount. We need to hold a module
reference until it exits to prevent someone from unplugging
the module until we're ready.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: display addr and prefixpath options in /proc/mounts
Jeff Layton [Mon, 1 Dec 2008 12:09:35 +0000 (07:09 -0500)]
cifs: display addr and prefixpath options in /proc/mounts

Have cifs_show_options display the addr and prefixpath options in
/proc/mounts. Reduce struct dereferencing by adding some local
variables.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agocifs: remove unused SMB session pointer from struct mid_q_entry
Jeff Layton [Mon, 1 Dec 2008 12:09:34 +0000 (07:09 -0500)]
cifs: remove unused SMB session pointer from struct mid_q_entry

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
15 years agomlx4_en: Remove pauses module parameters.
Yevgeny Petrilin [Fri, 26 Dec 2008 02:20:13 +0000 (18:20 -0800)]
mlx4_en: Remove pauses module parameters.

They are controlled through Ethtool interface.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomlx4_en: Removed Interrupt moderation module parameters
Yevgeny Petrilin [Fri, 26 Dec 2008 02:19:47 +0000 (18:19 -0800)]
mlx4_en: Removed Interrupt moderation module parameters

They are controlled through Ethtool interface, no need to have two
ways to modify them.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomlx4_en: Removed redundant cq->armed flag
Yevgeny Petrilin [Fri, 26 Dec 2008 02:14:04 +0000 (18:14 -0800)]
mlx4_en: Removed redundant cq->armed flag

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>