openwrt/staging/blogic.git
16 years agoixgbe: whitespace/formatting cleanup
Alexander Duyck [Fri, 12 Sep 2008 03:05:39 +0000 (20:05 -0700)]
ixgbe: whitespace/formatting cleanup

This patch cleans up some whitespace items, reorders a couple of functions, and removes some outdated comments.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: correctly add and remove napi queues
Alexander Duyck [Fri, 12 Sep 2008 03:04:56 +0000 (20:04 -0700)]
ixgbe: correctly add and remove napi queues

This patch corrects support for NAPI so that queues are correctly added and
removed during suspend/resume in the event that the number of MSI-X vectors
changes.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: Whitespace, copyright update and version number change patch
Peter P Waskiewicz [Fri, 12 Sep 2008 03:04:46 +0000 (20:04 -0700)]
ixgbe: Whitespace, copyright update and version number change patch

This patch cleans up a bit of whitespace issues with the driver, updates
the copyright information, and bumps the version number up.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: bump version
Jeff Kirsher [Fri, 12 Sep 2008 03:03:55 +0000 (20:03 -0700)]
ixgbe: bump version

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: xmit frame refactor
Jesse Brandeburg [Fri, 12 Sep 2008 03:03:35 +0000 (20:03 -0700)]
ixgbe: xmit frame refactor

ixgbe_xmit_frame can be refactored to use fewer locals and better
utilize common kernel macros.

also fixed minor buglet with internal to driver vlan flag variable being
passed incorrectly.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: lower stack space usage
Jesse Brandeburg [Fri, 12 Sep 2008 03:03:23 +0000 (20:03 -0700)]
ixgbe: lower stack space usage

some functions were un-necessarily using local variables.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: cleanup defines
Jesse Brandeburg [Fri, 12 Sep 2008 03:03:00 +0000 (20:03 -0700)]
ixgbe: cleanup defines

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: move set_num_queues and call it after msix failure
Jesse Brandeburg [Fri, 12 Sep 2008 03:00:29 +0000 (20:00 -0700)]
ixgbe: move set_num_queues and call it after msix failure

This is partial preparation for a future patch which will extend
ixgbe_set_num_queues

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: refresh the ixgbe_down function
Jesse Brandeburg [Fri, 12 Sep 2008 03:00:16 +0000 (20:00 -0700)]
ixgbe: refresh the ixgbe_down function

clean up the hardware shutdown sequence to prevent hardware
from continuing to send when resetting or unloading.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: update to latest common code module
Jesse Brandeburg [Fri, 12 Sep 2008 02:59:59 +0000 (19:59 -0700)]
ixgbe: update to latest common code module

This is a massive update that includes infrastructure for further patches
where we will add support for more phy types and eeprom types.

This code is shared as much as possible with other drivers, so the code may
seem a little obtuse at times but wherever possible we keep to the linux
style and methods.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: add clean rx many routine
Jesse Brandeburg [Fri, 12 Sep 2008 02:59:42 +0000 (19:59 -0700)]
ixgbe: add clean rx many routine

in some configurations there can be more than one rx queue per vector
in msi-x mode.  Add functionality to be able to clean this without
changing the performance path single-rx-queue cleanup.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: lro stats were not counted on first ethtool -Scall
Jesse Brandeburg [Fri, 12 Sep 2008 02:59:29 +0000 (19:59 -0700)]
ixgbe: lro stats were not counted on first ethtool -Scall

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix ring reallocation in ethtool
Jesse Brandeburg [Fri, 12 Sep 2008 02:59:16 +0000 (19:59 -0700)]
ixgbe: fix ring reallocation in ethtool

changing ring sizes in ethtool needs to be robust.  If an allocation fails the
driver must continue operation, with the previous settings.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: add device support for XF LR adapters
Jesse Brandeburg [Fri, 12 Sep 2008 02:58:59 +0000 (19:58 -0700)]
ixgbe: add device support for XF LR adapters

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: recycle pages in packet split mode
Jesse Brandeburg [Fri, 12 Sep 2008 02:58:43 +0000 (19:58 -0700)]
ixgbe: recycle pages in packet split mode

most of the time we only need 1500 bytes for a packet which means
we don't need a whole 4k page for each packet.  Share the allocation
by using a reference count to the page and giving half to two
receive descriptors.  This can enable us to use packet split mode
all the time due to the performance increase of allocating half
the pages.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix bug with lots of tx queues
Jesse Brandeburg [Fri, 12 Sep 2008 02:58:29 +0000 (19:58 -0700)]
ixgbe: fix bug with lots of tx queues

when using more than 8 tx queues you can overrun the 8 bit v_idx
field, so change it to 16 bits to represent the maximum number
of queues (one for each bit)

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix initial interrupt throttle settings
Jesse Brandeburg [Fri, 12 Sep 2008 02:58:14 +0000 (19:58 -0700)]
ixgbe: fix initial interrupt throttle settings

ixgbe was incorrectly setting the throttle rate setting for all tx
queues and the driver has been refreshed to better handle a dynamic
interrupt mode as well as multiple queues.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix ethtool disable csum for ipv6
Jesse Brandeburg [Fri, 12 Sep 2008 02:57:17 +0000 (19:57 -0700)]
ixgbe: fix ethtool disable csum for ipv6

ethtool was not disabling the correct netif flags when setting
checksum disable.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix pci_resource allocation as in other drivers
Jeff Kirsher [Fri, 12 Sep 2008 02:57:00 +0000 (19:57 -0700)]
ixgbe: fix pci_resource allocation as in other drivers

Form: Jesse Brandeburg <jesse.brandeburg@intel.com>

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix ethtool register dump
Jesse Brandeburg [Fri, 12 Sep 2008 02:56:41 +0000 (19:56 -0700)]
ixgbe: fix ethtool register dump

1) reading some of the registers in our hardware causes them to clear,
so don't read ICR in the ethtool register dump function.
2) several register iterators were not iterating

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: limit small mtu to minimum for ipv4 support
Jesse Brandeburg [Fri, 12 Sep 2008 02:56:28 +0000 (19:56 -0700)]
ixgbe: limit small mtu to minimum for ipv4 support

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix bug with shared interrupts
Jesse Brandeburg [Fri, 12 Sep 2008 02:56:14 +0000 (19:56 -0700)]
ixgbe: fix bug with shared interrupts

fix ixgbe bug reported with shared legacy interrupts

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: link change interrupt was not causing link event
Jesse Brandeburg [Fri, 12 Sep 2008 02:55:58 +0000 (19:55 -0700)]
ixgbe: link change interrupt was not causing link event

Upon review a buglet was found where link change was not causing
an immediate link change event as it should.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: Update watchdog thread to accomodate longerlink_up events
Jesse Brandeburg [Fri, 12 Sep 2008 02:55:32 +0000 (19:55 -0700)]
ixgbe: Update watchdog thread to accomodate longerlink_up events

This patch updates the link_up code and watchdog thread so that link_up
doesn't cause stack overflows due to long waits in interrupt context.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
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: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix multicast address update
Jesse Brandeburg [Fri, 12 Sep 2008 02:55:14 +0000 (19:55 -0700)]
ixgbe: fix multicast address update

after the most recent patches, the driver was not using the
correct iterator for updating the receive address registers (RAR)

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix dca defines to not have spaces
Jesse Brandeburg [Fri, 12 Sep 2008 02:54:48 +0000 (19:54 -0700)]
ixgbe: fix dca defines to not have spaces

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix bug where using wake queue instead of start
Jesse Brandeburg [Fri, 12 Sep 2008 02:54:23 +0000 (19:54 -0700)]
ixgbe: fix bug where using wake queue instead of start

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetxen: add pci ids
Dhananjay Phadke [Fri, 12 Sep 2008 13:55:14 +0000 (06:55 -0700)]
netxen: add pci ids

Define old and new pci vendor and device ids.

Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agomyri10ge: Rename DCA-related firmware counters
Brice Goglin [Fri, 12 Sep 2008 17:48:06 +0000 (19:48 +0200)]
myri10ge: Rename DCA-related firmware counters

Rename the cryptic "dca_capable" to "dca_capable_firmware"
and "dca_enabled" to "dca_device_present" in the firmware
counters.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agomyri10ge: Stop scaring people when DCA is built but absent
Brice Goglin [Fri, 12 Sep 2008 17:47:26 +0000 (19:47 +0200)]
myri10ge: Stop scaring people when DCA is built but absent

Stop scaring people with what looks like a fatal message when DCA support
is compiled into their kernel, but the DCA device is not present.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosmc911x: remove duplicate debug printout
Magnus Damm [Mon, 8 Sep 2008 05:03:16 +0000 (14:03 +0900)]
smc911x: remove duplicate debug printout

Remove duplicated debug printout.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor6040: fix bad usage of udelay
Florian Fainelli [Wed, 3 Sep 2008 14:50:03 +0000 (16:50 +0200)]
r6040: fix bad usage of udelay

This patch fixes the bad usage of udelay(5000), which in turns is a
mdelay(5). It causes compilation for ARM where udelay maximum value
is checked.

Reported-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Fix type of FALCON_SPI_MAX_LEN
Ben Hutchings [Wed, 3 Sep 2008 14:37:01 +0000 (15:37 +0100)]
sfc: Fix type of FALCON_SPI_MAX_LEN

FALCON_SPI_MAX_LEN has type size_t while other SPI lengths have type
unsigned int.  This results in warnings from min() on 64-bit
architectures where they are different.  Add a cast to make it match.

From: Steve Hodgson <shodgson@solarflare.com>
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Use CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS where appropriate
Ben Hutchings [Mon, 1 Sep 2008 11:50:28 +0000 (12:50 +0100)]
sfc: Use CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS where appropriate

For some buffers we use a starting offset of either NET_IP_ALIGN or 0
depending on whether we believe the architecture supports efficient
access to unaligned words.  There is now a config macro specifying
whether this is the case, so check that rather than checking for
specific architectures.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove obsolete comment about PCI modes
Ben Hutchings [Mon, 1 Sep 2008 11:50:18 +0000 (12:50 +0100)]
sfc: Remove obsolete comment about PCI modes

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Disable interrupts after a fatal interrupt occurs until reset
Ben Hutchings [Mon, 1 Sep 2008 11:50:14 +0000 (12:50 +0100)]
sfc: Disable interrupts after a fatal interrupt occurs until reset

This should avoid an interrupt storm, which has been observed in the
field with one faulty board.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Insert read memory barrier after checking MAC statistics flag
Ben Hutchings [Mon, 1 Sep 2008 11:50:08 +0000 (12:50 +0100)]
sfc: Insert read memory barrier after checking MAC statistics flag

This prevents speculative reading of the statistics before the
completion flag.

From: Neil Turton <nturton@solarflare.com>
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Stop generating bogus events in tenxpress_check_hw()
Ben Hutchings [Mon, 1 Sep 2008 11:50:01 +0000 (12:50 +0100)]
sfc: Stop generating bogus events in tenxpress_check_hw()

mdio_clause45_links_ok() correctly checks efx_phy_mode_disabled(), so
tenxpress_link_ok() doesn't need to.

From: Steve Hodgson <shodgson@solarflare.com>
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Don't include net_driver.h from falcon_io.h
Steve Hodgson [Mon, 1 Sep 2008 11:49:54 +0000 (12:49 +0100)]
sfc: Don't include net_driver.h from falcon_io.h

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Make queue flushes more reliable
Ben Hutchings [Mon, 1 Sep 2008 11:49:37 +0000 (12:49 +0100)]
sfc: Make queue flushes more reliable

Increase the potential retry count for RX flushes from 5 to 100.

Stop polling the RX_DESC_PTR_TBL to infer that a flush might have
happened. Instead absolutely rely on the flush events, unless bug 7803
applies (Falcon rev A only).

To keep things quick, request flushes for every TX and RX queue up
front, and match up the events to requests.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Don't use EFX_OWORD_FIELD on an event (64-bit, quad-word)
Steve Hodgson [Mon, 1 Sep 2008 11:49:29 +0000 (12:49 +0100)]
sfc: Don't use EFX_OWORD_FIELD on an event (64-bit, quad-word)

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Serialise tenxpress_special_reset() with statistics fetches
Ben Hutchings [Mon, 1 Sep 2008 11:49:25 +0000 (12:49 +0100)]
sfc: Serialise tenxpress_special_reset() with statistics fetches

On some boards 10Xpress feeds a 156 MHz clock to the Falcon XMAC.  MAC
statistics DMA can fail while this clock is stopped during a PHY reset.

From: Steve Hodgson <shodgson@solarflare.com>
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove workaround for old firmware bug
Ben Hutchings [Mon, 1 Sep 2008 11:49:20 +0000 (12:49 +0100)]
sfc: Remove workaround for old firmware bug

There was a bug in XAUI synchronisation in early 10Xpress firmware
versions.  This is fixed in released firmware and we do not need to
work around it.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Fix memory BAR release call on error path
Ben Hutchings [Mon, 1 Sep 2008 11:49:15 +0000 (12:49 +0100)]
sfc: Fix memory BAR release call on error path

Match pci_request_region() with pci_release_region(), not
release_mem_region().

From: Steve Hodgson <shodgson@solarflare.com>
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Add check for memory allocation failure in falcon_probe_nic()
Ben Hutchings [Wed, 3 Sep 2008 14:07:50 +0000 (15:07 +0100)]
sfc: Add check for memory allocation failure in falcon_probe_nic()

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago8139too: [cosmetic] fix incorrect register for flash-rom
Mats Erik Andersson [Wed, 16 Jul 2008 23:05:43 +0000 (01:05 +0200)]
8139too: [cosmetic] fix incorrect register for flash-rom

I would like to submit a correction to the driver

     drivers/net/8139too.c,

which in no way changes the compiled driver, but does change
the value of a previously incorrect value for the configuration
register address of Flash PROM on the network processor rtl8139C.
This corrected value is in accordance with the datasheet
for rtl8139C, and in addition this new value is indeed used
in other functional drivers that use this adapter for
programming a Flash memory chip in situ. But as said,
the two new constants are never referenced in the driver
maintained by you: they are only informational and correct!

Mats Erik Andersson, meand@users.sourceforge.net

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agos2io: Fix enabling VLAN tag stripping at driver initialization
Breno Leitao [Thu, 4 Sep 2008 20:52:54 +0000 (17:52 -0300)]
s2io: Fix enabling VLAN tag stripping at driver initialization

VLAN doesn't work except if you'd opened the interface in promiscuous
mode before.  This happens because VLAN tag stripping is not correctly
marked as enabled at device startup

Also, the vlan_strip_flag field was moved to the private network
structure.

Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agocs89x0: fix warning release_irq label
Yoichi Yuasa [Mon, 25 Aug 2008 14:37:36 +0000 (23:37 +0900)]
cs89x0: fix warning release_irq label

release_irq label is only used when ALLOW_DMA is defined.

drivers/net/cs89x0.c: In function 'net_open':
drivers/net/cs89x0.c:1401: warning: label 'release_irq' defined but not used

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[netdrvr/usb] hso_create_bulk_serial_device(): fix a double free
Adrian Bunk [Wed, 27 Aug 2008 22:02:37 +0000 (01:02 +0300)]
[netdrvr/usb] hso_create_bulk_serial_device(): fix a double free

hso_serial_common_free() mustn't be called if
hso_serial_common_create() fails.

Reported-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agowan/hdlc_x25.c: fix a NULL dereference
Krzysztof Halasa [Wed, 3 Sep 2008 16:21:56 +0000 (18:21 +0200)]
wan/hdlc_x25.c: fix a NULL dereference

WAN: fixes a NULL dereference in hdlc_x25.

Reported-by: Adrian Bunk <bunk@kernel.org>.
Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agobonding: Do not tx-balance some IPv6 packets on ALB/TLB bonds
Vlad Yasevich [Thu, 28 Aug 2008 19:38:41 +0000 (15:38 -0400)]
bonding: Do not tx-balance some IPv6 packets on ALB/TLB bonds

IPv6 all-node-multicasts and DAD probes should not be tx-balanced
on ALB/TLB bonds.  The all-node-multicast is an equivalent to IPv4
broadcasts.  DAD probes have to be sent only on the primary so that
we don't get false-positive detections.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[netdrvr] atl1e: Don't take the mdio_lock in atl1e_probe
Matthew Wilcox [Tue, 12 Aug 2008 13:13:14 +0000 (07:13 -0600)]
[netdrvr] atl1e: Don't take the mdio_lock in atl1e_probe

Lockdep warns about the mdio_lock taken with interrupts enabled then later
taken from interrupt context.  Initially, I considered changing these
to spin_lock_irq/spin_unlock_irq, but then I looked at atl1e_phy_init()
and saw that it calls msleep().  Sleeping while holding a spinlock is
not allowed either.

In the probe path, we haven't registered the interrupt handler, so
it can't poke at this card yet.  It's before we call register_netdev(),
so I don't think any other threads can reach this card either.  If I'm
right, we don't need a spinlock at all.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoehea: Fix DLPAR memory handling
Hannes Hering [Fri, 5 Sep 2008 14:36:26 +0000 (16:36 +0200)]
ehea: Fix DLPAR memory handling

The ehea busmap must be allocated only once in the first of many calls of the
ehea_create_busmap_callback.

Signed-off-by: Hannes Hering <hering2@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[netdrvr] ne: Fix suspend and resume for ISA PnP cards.
David Fries [Tue, 9 Sep 2008 03:01:14 +0000 (22:01 -0500)]
[netdrvr] ne: Fix suspend and resume for ISA PnP cards.

A call to pnp_stop_dev and pnp_start_dev now shuts down and
initializes plug and play devices for suspend and resume.

Signed-off-by: David Fries <david@fries.net>
Cc: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: Paul Gortmaker <p_gortmaker@yahoo.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[netdrvr] au1000_eth: Spinlock initialisation fix
Martin Gebert [Wed, 23 Jul 2008 07:40:09 +0000 (09:40 +0200)]
[netdrvr] au1000_eth: Spinlock initialisation fix

Seems like the spinlock for the AU1x00 ethernet device is initialised too
late, as it is already used in enable_mac(), which is called via
mii_probe() before the init takes place.

The attached patch is working here for a Linux Au1100 2.6.22.6 kernel,
and as far as I checked should also be applicable to the current head
(just line numbers differ).

Signed-off-by: Martin Gebert <Martin.Gebert@alpha-bit.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoMAINTAINERS: add Atheros maintainer for atlx
Chris Snook [Tue, 9 Sep 2008 07:26:57 +0000 (03:26 -0400)]
MAINTAINERS: add Atheros maintainer for atlx

Jie Yang at Atheros is getting more directly involved with upstream work on the
atl* drivers.  This patch changes the ATL1 entry to ATLX (atl2 support posted
to netdev today) and adds him as a maintainer.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodrivers/net/mlx4/alloc.c needs mm.h
Andrew Morton [Fri, 5 Sep 2008 21:04:07 +0000 (14:04 -0700)]
drivers/net/mlx4/alloc.c needs mm.h

sparc32 allmodconfig with linux-next:

drivers/net/mlx4/alloc.c: In function 'mlx4_buf_alloc':
drivers/net/mlx4/alloc.c:164: error: 'PAGE_KERNEL' undeclared (first use in this function)
drivers/net/mlx4/alloc.c:164: error: (Each undeclared identifier is reported only once
drivers/net/mlx4/alloc.c:164: error: for each function it appears in.)

this is due to some header shuffle in linux-next.  I didn't look to see what
it was.  I'd sugges that this patch be merged ahead of a linux-next merge to
avoid bisection breaks.

We strictly only need asm/pgtable.h, but going direct to asm includes always
seems grubby.

Cc: Jeff Garzik <jeff@garzik.org>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodrivers/net/skfp/pmf.c: Use offsetof() macro
Takashi Iwai [Fri, 5 Sep 2008 21:04:04 +0000 (14:04 -0700)]
drivers/net/skfp/pmf.c: Use offsetof() macro

Self-baked macros cause bunch of compile warnings like below:

  CC [M]  drivers/net/skfp/pmf.o
  CC      net/ipv4/fib_semantics.o
drivers/net/skfp/pmf.c:86: warning: cast from pointer to integer of different size
drivers/net/skfp/pmf.c:87: warning: cast from pointer to integer of different size
...

Use the standard offsetof() macro instead.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Alan Cox <alan@redhat.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosmc91x: SMC_IO_SHIFT platform data support for default case
Magnus Damm [Mon, 8 Sep 2008 05:02:34 +0000 (14:02 +0900)]
smc91x: SMC_IO_SHIFT platform data support for default case

Commit 159198862adad7109bb347bb30a620f67beac45f added SMC_IO_SHIFT
platform data support. After that ARM board support was added.

The default case is still missing though, so on SuperH SMC_IO_SHIFT
is constantly zero regardless of what you pass as platform data.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Test-by: Luca Santini <luca.santini@spesonline.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosmc91x: fix nowait printout
Magnus Damm [Mon, 8 Sep 2008 05:02:56 +0000 (14:02 +0900)]
smc91x: fix nowait printout

Commit c4f0e76747e80578a8f7fddd82fd0ce8127bd2f8 added nowait platform
data support. The printout code was however not updated, so the value
of SMC_NOWAIT is still used. This patch makes sure that nowait is printed
accordingly to platform data.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agor8169: fix RxMissed register access
Francois Romieu [Wed, 10 Sep 2008 20:28:56 +0000 (22:28 +0200)]
r8169: fix RxMissed register access

- the register is defined for the 8169 chipset only and there is
  no 8169 beyond RTL_GIGA_MAC_VER_06.
- only the lower 3 bytes of the register are valid

Fixes:
1. http://bugzilla.kernel.org/show_bug.cgi?id=10180
2. http://bugzilla.kernel.org/show_bug.cgi?id=11062 (bits of)

Tested by Hermann Gausterer and Adam Huffman.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoehea: fix phyp debugging typo
Sebastien Dugue [Thu, 11 Sep 2008 13:34:39 +0000 (15:34 +0200)]
ehea: fix phyp debugging typo

  Fix typo in ehea_h_query_ehea() which prevents building when DEBUG is on.

Signed-off-by: Sebastien Dugue <sebastien.dugue@bull.net>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agotulip: Fix dead 21041 ethernet after ifconfig down
Thomas Bogendoerfer [Sat, 13 Sep 2008 19:06:42 +0000 (15:06 -0400)]
tulip: Fix dead 21041 ethernet after ifconfig down

The de2104x did a pci_disable_device() in it's close function, but
the open function never does a pci_enable_device() and assumes that
the device is already enabled. Considering that downing the interface
is just a temporary thing the pci_disable_device() isn't a pretty good
idea and removing it from the close function just fixes the bug.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Acked-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoaoe: Fix OOPS after SKB queue changes.
David S. Miller [Wed, 24 Sep 2008 03:47:22 +0000 (20:47 -0700)]
aoe: Fix OOPS after SKB queue changes.

Reported by Thomas Graf.

If we don't unlink the SKB from the queue when we send it
out in aoenet_xmit(), dev_hard_start_xmit() will see skb->next
as non-NULL and interpret this to mean the SKB is part of a
GSO segment list.

Add __skb_unlink() call to fix that.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agocan: Add documentation for virtual CAN driver usage
Oliver Hartkopp [Tue, 23 Sep 2008 21:53:14 +0000 (14:53 -0700)]
can: Add documentation for virtual CAN driver usage

This patch adds a usage documentation for the virtual CAN driver (vcan).

Signed-off-by: Oliver Hartkopp <oliver@hartkopp.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotcp: Fix queue traversal in tcp_use_frto().
David S. Miller [Tue, 23 Sep 2008 09:51:41 +0000 (02:51 -0700)]
tcp: Fix queue traversal in tcp_use_frto().

We must check tcp_skb_is_last() before doing a tcp_write_queue_next().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotcp: Fix order of tests in tcp_retransmit_skb()
David S. Miller [Tue, 23 Sep 2008 08:29:23 +0000 (01:29 -0700)]
tcp: Fix order of tests in tcp_retransmit_skb()

tcp_write_queue_next() must only be made if we know that
tcp_skb_is_last() evaluates to false.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoppp_generic: Use skb_peek() in ppp_receive_mp_frame().
David S. Miller [Tue, 23 Sep 2008 08:17:18 +0000 (01:17 -0700)]
ppp_generic: Use skb_peek() in ppp_receive_mp_frame().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoneigh: Remove by-hand SKB queue handling.
David S. Miller [Tue, 23 Sep 2008 08:11:18 +0000 (01:11 -0700)]
neigh: Remove by-hand SKB queue handling.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: Remove the tx queue state check in qdisc_run()
Jarek Poplawski [Tue, 23 Sep 2008 08:05:56 +0000 (01:05 -0700)]
pkt_sched: Remove the tx queue state check in qdisc_run()

The current check wrongly uses the state of one (currently the first)
tx queue for all tx queues in case of non-default qdiscs. This check
mainly prevented requeuing loop with __netif_schedule(), but now it's
controlled inside __qdisc_run(), while dequeuing. The wrongness of
this check was first noticed by Herbert Xu.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotcp: Use SKB queue handling interfaces instead of by-hand versions.
David S. Miller [Tue, 23 Sep 2008 07:50:13 +0000 (00:50 -0700)]
tcp: Use SKB queue handling interfaces instead of by-hand versions.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: Add skb_queue_walk_from() and skb_queue_walk_from_safe().
David S. Miller [Tue, 23 Sep 2008 07:49:44 +0000 (00:49 -0700)]
net: Add skb_queue_walk_from() and skb_queue_walk_from_safe().

These will be used by TCP write queue handling and elsewhere.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: Add skb_queue_next().
David S. Miller [Tue, 23 Sep 2008 07:44:42 +0000 (00:44 -0700)]
net: Add skb_queue_next().

A lot of code wants to iterate over an SKB queue at the top level using
it's own control structure and iterator scheme.

Provide skb_queue_next(), which is only valid to invoke if
skb_queue_is_last() returns false.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotcp: Use skb_queue_is_last() instead of by-hand version.
David S. Miller [Tue, 23 Sep 2008 07:34:37 +0000 (00:34 -0700)]
tcp: Use skb_queue_is_last() instead of by-hand version.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: Add skb_queue_is_last().
David S. Miller [Tue, 23 Sep 2008 07:34:07 +0000 (00:34 -0700)]
net: Add skb_queue_is_last().

Several bits of code want to know "is this the last SKB in
a queue", and all of them implement this by hand.

Provide an common interface to make this check.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agousbatm: Use skb_queue_walk_safe() instead of by-hand implementation.
David S. Miller [Tue, 23 Sep 2008 07:27:47 +0000 (00:27 -0700)]
usbatm: Use skb_queue_walk_safe() instead of by-hand implementation.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agozd1211: Use skb_queue_walk() instead of by-hand implementation.
David S. Miller [Tue, 23 Sep 2008 07:23:30 +0000 (00:23 -0700)]
zd1211: Use skb_queue_walk() instead of by-hand implementation.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agode4x5: Use skb_queue_head instead of by-hand implementation.
David S. Miller [Tue, 23 Sep 2008 07:19:19 +0000 (00:19 -0700)]
de4x5: Use skb_queue_head instead of by-hand implementation.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: Check the state of tx_queue in dequeue_skb()
Jarek Poplawski [Tue, 23 Sep 2008 05:16:23 +0000 (22:16 -0700)]
pkt_sched: Check the state of tx_queue in dequeue_skb()

Check in dequeue_skb() the state of tx_queue for requeued skb to save
on locking and re-requeuing, and possibly remove the current check in
qdisc_run(). Based on the idea of Alexander Duyck.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: Always use q->requeue in dev_requeue_skb().
David S. Miller [Tue, 23 Sep 2008 05:15:58 +0000 (22:15 -0700)]
pkt_sched: Always use q->requeue in dev_requeue_skb().

There is no reason to call into the complicated qdiscs
just to remember the last SKB where we found the device
blocked.

The SKB is outside of the qdiscs realm at this point.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: Make qdisc->gso_skb a list.
David S. Miller [Tue, 23 Sep 2008 05:15:30 +0000 (22:15 -0700)]
pkt_sched: Make qdisc->gso_skb a list.

The idea is that we can use this to get rid of
->requeue().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agosctp: Use skb_queue_walk_safe() and skb_queue_split_tail_init().
David S. Miller [Tue, 23 Sep 2008 05:14:36 +0000 (22:14 -0700)]
sctp: Use skb_queue_walk_safe() and skb_queue_split_tail_init().

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: Fix bus in SKB queue splicing interfaces.
David S. Miller [Tue, 23 Sep 2008 04:57:21 +0000 (21:57 -0700)]
net: Fix bus in SKB queue splicing interfaces.

Handle the case of head being non-empty, by adding list->qlen
to head->qlen instead of using direct assignment.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: network device name ifalias support
Stephen Hemminger [Tue, 23 Sep 2008 04:28:11 +0000 (21:28 -0700)]
net: network device name ifalias support

This patch add support for keeping an additional character alias
associated with an network interface. This is useful for maintaining
the SNMP ifAlias value which is a user defined value. Routers use this
to hold information like which circuit or line it is connected to. It
is just an arbitrary text label on the network device.

There are two exposed interfaces with this patch, the value can be
read/written either via netlink or sysfs.

This could be maintained just by the snmp daemon, but it is more
generally useful for other management tools, and the kernel is good
place to act as an agreed upon interface to store it.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agousbnet: Use skb_queue_walk_safe() instead of by-hand implementation.
David S. Miller [Tue, 23 Sep 2008 03:18:47 +0000 (20:18 -0700)]
usbnet: Use skb_queue_walk_safe() instead of by-hand implementation.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPhonet: kernel documentation
Remi Denis-Courmont [Tue, 23 Sep 2008 03:09:46 +0000 (20:09 -0700)]
Phonet: kernel documentation

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPhonet: emit errors when a packet cannot be delivered locally
Remi Denis-Courmont [Tue, 23 Sep 2008 03:09:13 +0000 (20:09 -0700)]
Phonet: emit errors when a packet cannot be delivered locally

When there is no listener socket for a received packet, send an error
back to the sender.

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPhonet: proc interface for port range
Remi Denis-Courmont [Tue, 23 Sep 2008 03:08:39 +0000 (20:08 -0700)]
Phonet: proc interface for port range

Phonet endpoints are bound to individual ports.
This provides a /proc/sys/net/phonet (or sysctl) interface for
selecting the range of automatically allocated ports (much like the
ip_local_port_range with IPv4).

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPhonet: provide MAC header operations
Remi Denis-Courmont [Tue, 23 Sep 2008 03:08:04 +0000 (20:08 -0700)]
Phonet: provide MAC header operations

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPhonet: Phonet datagram transport protocol
Remi Denis-Courmont [Tue, 23 Sep 2008 03:05:57 +0000 (20:05 -0700)]
Phonet: Phonet datagram transport protocol

This provides the basic SOCK_DGRAM transport protocol for Phonet.

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPhonet: common socket glue
Remi Denis-Courmont [Tue, 23 Sep 2008 03:05:19 +0000 (20:05 -0700)]
Phonet: common socket glue

This provides the socket API for the Phonet protocols family.

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPhonet: Netlink interface
Remi Denis-Courmont [Tue, 23 Sep 2008 03:04:30 +0000 (20:04 -0700)]
Phonet: Netlink interface

This provides support for configuring Phonet addresses, notifying
Phonet configuration changes, and dumping the configuration.

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPhonet: network device and address handling
Remi Denis-Courmont [Tue, 23 Sep 2008 03:03:44 +0000 (20:03 -0700)]
Phonet: network device and address handling

This provides support for adding Phonet addresses to and removing
Phonet addresses from network devices.

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPhonet: add CONFIG_PHONET
Remi Denis-Courmont [Tue, 23 Sep 2008 03:03:00 +0000 (20:03 -0700)]
Phonet: add CONFIG_PHONET

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPhonet: PF_PHONET protocol family support
Remi Denis-Courmont [Tue, 23 Sep 2008 03:02:10 +0000 (20:02 -0700)]
Phonet: PF_PHONET protocol family support

This is the basis for the Phonet protocol families, and introduces
the ETH_P_PHONET packet type and the PF_PHONET socket family.

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoPhonet: global definitions
Remi Denis-Courmont [Tue, 23 Sep 2008 02:51:15 +0000 (19:51 -0700)]
Phonet: global definitions

Signed-off-by: Remi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipsec: Fix xfrm_state_walk race
Herbert Xu [Tue, 23 Sep 2008 02:48:19 +0000 (19:48 -0700)]
ipsec: Fix xfrm_state_walk race

As discovered by Timo Teräs, the currently xfrm_state_walk scheme
is racy because if a second dump finishes before the first, we
may free xfrm states that the first dump would walk over later.

This patch fixes this by storing the dumps in a list in order
to calculate the correct completion counter which cures this
problem.

I've expanded netlink_cb in order to accomodate the extra state
related to this.  It shouldn't be a big deal since netlink_cb
is kmalloced for each dump and we're just increasing it by 4 or
8 bytes.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agocassini: use request_firmware
Jaswinder Singh [Tue, 23 Sep 2008 02:27:10 +0000 (19:27 -0700)]
cassini: use request_firmware

Firmware blob looks like this...
        __le16 load_address
        unsigned char data[]

[akpm@linux-foundation.org: include vmalloc.h]
Signed-off-by: Jaswinder Singh <jaswinder@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet/atm/lec.c: drop code after return
Julia Lawall [Tue, 23 Sep 2008 02:24:45 +0000 (19:24 -0700)]
net/atm/lec.c: drop code after return

The break after the return serves no purpose.

Signed-off-by: Julia Lawall <julia@diku.dk>
Reviewed-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agodrivers/net/wan: Use DIV_ROUND_UP
Julia Lawall [Tue, 23 Sep 2008 02:23:48 +0000 (19:23 -0700)]
drivers/net/wan: Use DIV_ROUND_UP

The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /
(d)) but is perhaps more readable.

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

// <smpl>
@haskernel@
@@

#include <linux/kernel.h>

@depends on haskernel@
expression n,d;
@@

(
- (n + d - 1) / d
+ DIV_ROUND_UP(n,d)
|
- (n + (d - 1)) / d
+ DIV_ROUND_UP(n,d)
)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP((n),d)
+ DIV_ROUND_UP(n,d)

@depends on haskernel@
expression n,d;
@@

- DIV_ROUND_UP(n,(d))
+ DIV_ROUND_UP(n,d)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>