firefly-linux-kernel-4.4.55.git
16 years agop54: better firmware support
Christian Lamparter [Wed, 3 Sep 2008 20:25:25 +0000 (22:25 +0200)]
p54: better firmware support

This patch hopefully contains all necessary changes to support
firmwares for all devices up to atleast 2.13.3.0.
(or: LowerMAC Protocol Rev: 5.5 )

And this is a big win, since:
 * newer firmwares are more stable and reliable than the old ones.
 * no problems anymore with packages > 1399 octets (without lowering the MTU).
 * monitor mode finally works on USB for more than just a few seconds.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54: set_filter refactoring
Christian Lamparter [Wed, 3 Sep 2008 20:25:20 +0000 (22:25 +0200)]
p54: set_filter refactoring

p54_set_filter has a way too many unnecessary "magic" parameters and values.
This patch axes all superfluous parameters and gives most of the magic values appropriate names.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Replace hardcoded Analog switch
Michael Buesch [Wed, 3 Sep 2008 10:31:54 +0000 (12:31 +0200)]
b43: Replace hardcoded Analog switch

Replace a hardcoded Analog switch (which breaks on N-PHY) by a call to
the switch_analog PHY operation.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Move Analog switching into phy code
Michael Buesch [Wed, 3 Sep 2008 10:12:20 +0000 (12:12 +0200)]
b43: Move Analog switching into phy code

This moves the Analog switching code into the PHY files.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54usb: support LM87 firmwares
Christian Lamparter [Thu, 4 Sep 2008 10:29:38 +0000 (12:29 +0200)]
p54usb: support LM87 firmwares

This patch adds the necessary changes to support LM87 firmwares.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoath9k: uses/needs led_classdev_[un]register
Randy Dunlap [Tue, 2 Sep 2008 19:07:56 +0000 (12:07 -0700)]
ath9k: uses/needs led_classdev_[un]register

ath9k uses LED classdev functions, so it needs to either select or depend
on them.  This patch uses the same selects that ath5k uses...

drivers/built-in.o: In function `ath_unregister_led':
main.c:(.text+0x138c1d): undefined reference to `led_classdev_unregister'
drivers/built-in.o: In function `ath_register_led':
main.c:(.text+0x139c16): undefined reference to `led_classdev_register'
make[1]: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
cc: Jouni Malinen <jmalinen@atheros.com>
Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Split PHY alloc and init
Michael Buesch [Tue, 2 Sep 2008 11:00:34 +0000 (13:00 +0200)]
b43: Split PHY alloc and init

This splits the PHY allocation from the PHY init.
This is needed in order to properly support Analog handling.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54: move eeprom code into common library
Christian Lamparter [Mon, 1 Sep 2008 20:48:51 +0000 (22:48 +0200)]
p54: move eeprom code into common library

Both p54pci and p54usb uses a good chunk of device specific code to
get the data from the device's eeprom into the drivers memory.

So, this patch reduces the code size and will it make life easier if
someone wants to implement ethtool eeprom dumping features.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54: enhance firmware parser to reduce memory waste
Christian Lamparter [Mon, 1 Sep 2008 20:48:41 +0000 (22:48 +0200)]
p54: enhance firmware parser to reduce memory waste

This patch greatly reduces one of biggest memory waste in the driver.

The firmware headers provides the right values for extra head-/tailroom
and mtu size which are usually much lower than the old hardcoded ones.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54pci: increase ring buffer index counter when skipping
Christian Lamparter [Sun, 31 Aug 2008 20:15:40 +0000 (22:15 +0200)]
p54pci: increase ring buffer index counter when skipping

I'm afraid, I forgot to add the following lines to
7262d59366 ("p54pci: rx tasklet refactoring").

These changes are necessary to ensure loop termination.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agotoshiba_acpi: Add support for bluetooth toggling through rfkill (v8)
philipl@overt.org [Sat, 30 Aug 2008 15:57:39 +0000 (11:57 -0400)]
toshiba_acpi: Add support for bluetooth toggling through rfkill (v8)

There's been a patch floating around for toshiba_acpi that exports an ad-hoc
/proc interface to toggle the bluetooth adapter in a large number of Toshiba
laptops. I'm not sure if it's still relevant for the latest models, but it is
still required for older models such as my Tecra M3.

This change pulls in the low level Toshiba-specific code from the old patch and
sets up an rfkill device and a polled input device to track the state of the
hardware kill-switch.

Signed-off-by: Philip Langdale <philipl@overt.org>
Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add LP-PHY radio register definitions
Michael Buesch [Sat, 30 Aug 2008 11:07:31 +0000 (13:07 +0200)]
b43: Add LP-PHY radio register definitions

This adds definitions for the LP-PHY radios.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add LP-PHY read/write phyops
Michael Buesch [Sat, 30 Aug 2008 09:49:45 +0000 (11:49 +0200)]
b43: Add LP-PHY read/write phyops

This adds read/write phyops for the LP-PHY and LP-PHY radios.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add LP-PHY template
Michael Buesch [Sat, 30 Aug 2008 08:55:48 +0000 (10:55 +0200)]
b43: Add LP-PHY template

This adds template code for the LP-PHY.
No actual functionality is implemented.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Move code from nphy.* to phy_n.*
Michael Buesch [Sat, 30 Aug 2008 00:27:19 +0000 (02:27 +0200)]
b43: Move code from nphy.* to phy_n.*

Sourcecode files for PHY code are named by phy_XXX.{c,h}
where XXX is the PHY type.
Move the N-PHY code to match the other files.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Move remaining code from phy.c to phy_a.c
Michael Buesch [Sat, 30 Aug 2008 00:09:08 +0000 (02:09 +0200)]
b43: Move remaining code from phy.c to phy_a.c

This moves the remaining code from phy.c to phy_a.c
phy.c is removed.
No functional change. Just moving code and removing dead code.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agocfg80211: keep track of supported interface modes
Luis R. Rodriguez [Fri, 29 Aug 2008 23:26:43 +0000 (16:26 -0700)]
cfg80211: keep track of supported interface modes

It is obviously good for userspace to know up front which
interface modes a given piece of hardware might support (even
if adding such an interface might fail later because of
concurrency issues), so let's make cfg80211 aware of that.
For good measure, disallow adding interfaces in all other
modes so drivers don't forget to announce support for one mode
when they add it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Stephen Blackheath <tramp.enshrine.stephen@blacksapphire.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoath5k: HW code cleanup
Nick Kossifidis [Fri, 29 Aug 2008 19:45:39 +0000 (22:45 +0300)]
ath5k: HW code cleanup

 * No code changes...

 * Split hw.c to multiple files for better maintenance and add some documentation on each file
   code is going to grow soon (eeprom.c for example is going to get much stuff currently developed
   on ath_info) so it's better this way.

 * Rename following functions to maintain naming scheme:

     ah_setup_xtx_desc -> ah_setup_mrr_tx_desc
     (Because xtx doesn't say much, it's actually
     a multi-rate-retry tx descriptor)

     ath5k_hw_put_tx/rx_buf - > ath5k_hw_set_tx/rxdp
     ath5k_hw_get_tx/rx_buf -> ath5k_hw_get_tx/rxdp
     (We don't put any "buf" we set descriptor pointers on hw)

     ath5k_hw_tx_start -> ath5k_hw_start_tx_dma
     ath5k_hw_start_rx -> ath5k_hw_start_rx_dma
     ath5k_hw_stop_pcu_recv -> ath5k_hw_stop_rx_pcu
     (It's easier this way to identify them, we also
     have ath5k_hw_start_rx_pcu which completes the
     set)

     ath5k_hw_set_intr -> ath5k_hw_set_imr
     (As in get_isr we set imr here, not "intr")

  * Move ath5k_hw_setup_rx_desc on ah->ah_setup_rx_desc so we can
    include support for different rx descriptors in the future

  * Further cleanups so that checkpatch doesn't complain
    (only some > 80 col warnings for eeprom.h and reg.h as usual
    due to comments)

  Tested on 5211 and 5213 cards and works ok.

Changes-licensed-under: ISC
Signed-off-by: Nick Kossifidis <mickflemm@gmail.com>
Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Don't use memcpy for overlapping areas
Michael Buesch [Thu, 28 Aug 2008 17:13:51 +0000 (19:13 +0200)]
b43: Don't use memcpy for overlapping areas

It is valid to pass &gphy->rfatt and &gphy->bbatt as rfatt and bbatt
pointer arguments to the function. So we have to use memmove for the
possibly overlapping memory areas.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agos2io: reindented misleading for loop
Ilpo Järvinen [Tue, 19 Aug 2008 07:36:01 +0000 (10:36 +0300)]
s2io: reindented misleading for loop

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[netdrvr] removed unused #include <version.h>
Huang Weiyi [Sat, 16 Aug 2008 23:51:20 +0000 (07:51 +0800)]
[netdrvr] removed unused #include <version.h>

The drivers below do not use LINUX_VERSION_CODE nor KERNEL_VERSION.
  drivers/net/myri10ge/myri10ge.c
  drivers/net/netxen/netxen_nic_ethtool.c
  drivers/net/tokenring/lanstreamer.c

This patch removes the said #include <version.h>.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago8139too: use netdev_alloc_skb
Kevin Lo [Wed, 27 Aug 2008 03:35:13 +0000 (11:35 +0800)]
8139too: use netdev_alloc_skb

This patch uses netdev_alloc_skb. This sets skb->dev and allows
arch specific allocation. Also cleanup the alignment code.

Signed-off-by: Kevin Lo <kevlo@kevlo.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago8139cp: use netdev_alloc_skb
Kevin Lo [Wed, 27 Aug 2008 03:35:15 +0000 (11:35 +0800)]
8139cp: use netdev_alloc_skb

This patch uses netdev_alloc_skb. This sets skb->dev and allows
arch specific allocation. Also cleanup the alignment code.

Signed-off-by: Kevin Lo <kevlo@kevlo.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agovia-rhine: changed to use netdev_alloc_skb() from dev_alloc_skb
Kevin Lo [Wed, 27 Aug 2008 03:35:09 +0000 (11:35 +0800)]
via-rhine: changed to use netdev_alloc_skb() from dev_alloc_skb

Use netdev_alloc_skb. This sets skb->dev and allows
arch specific allocation. Also cleanup the alignment code.

Signed-off-by: Kevin Lo <kevlo@kevlo.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosky2: display product info on boot.
Stephen Hemminger [Thu, 28 Aug 2008 03:48:23 +0000 (20:48 -0700)]
sky2: display product info on boot.

Change bootup messages to print more information. This is to help users
who may have old buggy EEPROM image.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosky2: EEPROM read/write bug fixes
Stephen Hemminger [Thu, 28 Aug 2008 03:46:26 +0000 (20:46 -0700)]
sky2: EEPROM read/write bug fixes

Cleanup and harden the routines accessing the EEPROM.
  1. Prevent spin forever waiting for the TWSI bus
  2. Fix write eeprom to write full words rather than only 16 bits
    Luckly the vendor doesn't provide EEPROM in Linux format so it must never
    have been used.
  3. Don't allow partial eeprom writes, not needed, not safe.

These are non-urgent bug fixes.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoMerge branch 'r8169-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
Jeff Garzik [Wed, 3 Sep 2008 14:21:20 +0000 (10:21 -0400)]
Merge branch 'r8169-fixes' of git://git./linux/kernel/git/romieu/netdev-2.6 into upstream-next

16 years agoixgbe: change config srrctl to only program one register per VMDq/RSS id
Alexander Duyck [Sat, 30 Aug 2008 07:29:10 +0000 (00:29 -0700)]
ixgbe: change config srrctl to only program one register per VMDq/RSS id

This change makes it so only one srrctl register is programmed per VMDq id, and if VMDq is not enabled it is one register per RSS queue.  Currently this function is working correctly for the multiqueue RSS and single queue cases, but if any advances features such as VMDq or DCB would have been enabled this function would have caused issues as it was not correct.

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 agoigb: clean up a stray fake netdev code left in rx path
Alexander Duyck [Tue, 26 Aug 2008 11:25:11 +0000 (04:25 -0700)]
igb: clean up a stray fake netdev code left in rx path

Remove code that was in place to support fake netdev

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 agoigb: remove unneeded cleaned variable in clean_tx_irq path
Alexander Duyck [Tue, 26 Aug 2008 11:25:08 +0000 (04:25 -0700)]
igb: remove unneeded cleaned variable in clean_tx_irq path

The cleaned variable can be replaced by the count of packets cleaned during
the tx interrupt routine so it can be removed.

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 agoe1000e: add support for new 82574L part
Bruce Allan [Wed, 27 Aug 2008 01:37:06 +0000 (18:37 -0700)]
e1000e: add support for new 82574L part

This new part has the same feature set as previous parts with the addition
of MSI-X support.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000e: add support for 82567LM-3 and 82567LF-3 (ICH10D) parts
Bruce Allan [Wed, 27 Aug 2008 01:36:50 +0000 (18:36 -0700)]
e1000e: add support for 82567LM-3 and 82567LF-3 (ICH10D) parts

Add support for new LOM devices on the latest generation ICHx platforms.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000e: add support for the 82567LM-4 device
Bruce Allan [Wed, 27 Aug 2008 01:36:36 +0000 (18:36 -0700)]
e1000e: add support for the 82567LM-4 device

Enable PCI device ID for a new combination of MAC and PHY already supported
in the driver.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: use different context for tso and offload
PJ Waskiewicz [Tue, 26 Aug 2008 11:27:30 +0000 (04:27 -0700)]
ixgbe: use different context for tso and offload

Change TSO offloads to use a different context than VLAN insertion
and Tx checksumming.  Hardware has separate registers internally for
storing these so use them.

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: fix dca hints going to wrong processor
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:27 +0000 (04:27 -0700)]
ixgbe: fix dca hints going to wrong processor

hardware was configured incorrectly which led all hints to be
sent to queue[0]'s DCA configuration.

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 lro settings are per ring
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:24 +0000 (04:27 -0700)]
ixgbe: fix bug where lro settings are per ring

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 dca to new interface, fix CONFIG_DCA_MODULE
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:21 +0000 (04:27 -0700)]
ixgbe: update dca to new interface, fix CONFIG_DCA_MODULE

DCA related fixes
=================
- ixgbe was not compiling and using DCA correctly if dca was a module
- DCA interface changed with new kernel
- ixgbe was not correctly configured to indicate DCA hints to the
  correct CPU.

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: should not use HW_CSUM, should use IP* flags
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:18 +0000 (04:27 -0700)]
ixgbe: should not use HW_CSUM, should use IP* flags

as mentioned by Herbert, our hardware supports IP offloads, not full
checksum offloads for any protocol in existence (even though the
hardware just provides generic csum support over any range of bytes)

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: Lock RSS seed, move rx_buf_len to the rx_ring
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:16 +0000 (04:27 -0700)]
ixgbe: Lock RSS seed, move rx_buf_len to the rx_ring

This locks the seed down so loading/unloading the driver will present
predictable hashing from RSS.  Also move the rx_buf_len out of the adapter
struct, and into the Rx ring struct.

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: Implement Tx Head Writeback
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:13 +0000 (04:27 -0700)]
ixgbe: Implement Tx Head Writeback

Enable Tx Head Writeback in the hardware.  This helps performance by
removing adapter writebacks to descriptors on transmit completion.

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: disable flow control by default
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:10 +0000 (04:27 -0700)]
ixgbe: disable flow control by default

Since the adapter cannot tell what the remote end's flow control capability
is through auto-neg, we must turn off flow control by default.

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 references to Tx and Rx rings to becommon across the driver
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:08 +0000 (04:27 -0700)]
ixgbe: Cleanup references to Tx and Rx rings to becommon across the driver

Cleanup all the different references to the Tx ring and Rx ring structures
and make them common across the driver.

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: do not update stats twice each receive
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:05 +0000 (04:27 -0700)]
ixgbe: do not update stats twice each receive

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: Implement HAVE_SET_RX_MODE
Christopher Leech [Tue, 26 Aug 2008 11:27:02 +0000 (04:27 -0700)]
ixgbe: Implement HAVE_SET_RX_MODE

Implement HAVE_SET_RX_MODE in the driver for MC and UC lists.

Signed-off-by: Christopher Leech <christopher.leech@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: add little endian annotations for sparse
Jesse Brandeburg [Tue, 26 Aug 2008 11:26:59 +0000 (04:26 -0700)]
ixgbe: add little endian annotations for sparse

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 rx csum return status misinterpretation
Jesse Brandeburg [Tue, 26 Aug 2008 11:26:56 +0000 (04:26 -0700)]
ixgbe: fix rx csum return status misinterpretation

the driver was misinterpreting rx_csum return value in the descriptor
so occassionally we would indicate an rx_csum error in our stats
when there was none.  This would have no effect on traffic because
we would just hand the packet to the stack anyway without the offload
flag set, but would increase CPU for those packets that needed a recompute.

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 agoibm_newemac: MAL[12]_IER_EVENTS definition: 2x *_OTE -> *_DE
roel kluin [Sat, 30 Aug 2008 20:48:24 +0000 (22:48 +0200)]
ibm_newemac: MAL[12]_IER_EVENTS definition: 2x *_OTE -> *_DE

MAL[12]_IER_EVENTS definitions have MAL_IER_OTE twice
but lack MAL_IER_DE

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agohp-plus: fix link objects
Randy Dunlap [Tue, 2 Sep 2008 20:03:44 +0000 (13:03 -0700)]
hp-plus: fix link objects

Fix hp-plus Makefile object file:

drivers/built-in.o: In function `hpp_open':
hp-plus.c:(.text+0xaf445): undefined reference to `ei_interrupt'
hp-plus.c:(.text+0xaf4ac): undefined reference to `ei_open'
drivers/built-in.o: In function `hpp_close':
hp-plus.c:(.text+0xaf59d): undefined reference to `ei_close'
drivers/built-in.o: In function `hpp_probe1':
hp-plus.c:(.init.text+0x7314): undefined reference to `ei_poll'
drivers/built-in.o: In function `hp_plus_probe':
(.init.text+0x7407): undefined reference to `__alloc_ei_netdev'
make[1]: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agobonding: change some __constant_htons() to htons()
Brian Haley [Tue, 2 Sep 2008 14:08:08 +0000 (10:08 -0400)]
bonding: change some __constant_htons() to htons()

Resending since I didn't see any responses from the first try.

Change __constant_htons() to htons() in the bonding driver, it should
only be used for initializers.

-Brian

Signed-off-by: Brian Haley <brian.haley@hp.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Rework efx_set_multicast_hash()
Ben Hutchings [Mon, 1 Sep 2008 11:49:12 +0000 (12:49 +0100)]
sfc: Rework efx_set_multicast_hash()

When !port_enabled, defer the write to reconfigure_mac_wrapper.

Whilst here, simplify the logic now that efx_start_port() always calls
efx_reconfigure_port().

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 the STATE_RESETTING flag
Ben Hutchings [Mon, 1 Sep 2008 11:49:08 +0000 (12:49 +0100)]
sfc: Remove the STATE_RESETTING flag

This was originally a kludge to fix broken locking, which has since
been fixed properly.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Extend self-tests
Ben Hutchings [Mon, 1 Sep 2008 11:49:02 +0000 (12:49 +0100)]
sfc: Extend self-tests

Include PMA/PMD in loopback self-tests as intended.

Add NVRAM checksum validation and include it in self-tests.

Add register self-tests.

Run PHY self-tests where available.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Rework the bitfield header so that we can identify fields by bit number
Ben Hutchings [Mon, 1 Sep 2008 11:48:55 +0000 (12:48 +0100)]
sfc: Rework the bitfield header so that we can identify fields by bit number

This will support register self-tests.

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: Cleanup reset code
Ben Hutchings [Mon, 1 Sep 2008 11:48:50 +0000 (12:48 +0100)]
sfc: Cleanup reset code

Move more code from efx_reset() into efx_reset_down() and efx_reset_up().

Stop propagating MAC/PHY setting failures from efx_reset_down() and
efx_reset_up() as these should not be fatal.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove some unreachable error paths
Ben Hutchings [Mon, 1 Sep 2008 11:48:46 +0000 (12:48 +0100)]
sfc: Remove some unreachable error paths

Some functions return an error code which is always 0.  Change their
return types to void and simplify their callers accordingly.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove remnants of multi-port abstraction for MAC registers
Ben Hutchings [Mon, 1 Sep 2008 11:48:41 +0000 (12:48 +0100)]
sfc: Remove remnants of multi-port abstraction for MAC registers

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove efx_nic_dummy_op_int() as redundant with efx_port_dummy_op_int()
Ben Hutchings [Mon, 1 Sep 2008 11:48:36 +0000 (12:48 +0100)]
sfc: Remove efx_nic_dummy_op_int() as redundant with efx_port_dummy_op_int()

Update comment on the dummy operation implementations.

Line up the board operation initialisers.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Enable TSO for 802.1q VLAN devices
Ben Hutchings [Mon, 1 Sep 2008 11:48:23 +0000 (12:48 +0100)]
sfc: Enable TSO for 802.1q VLAN devices

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Do not call netif_{stop,wake}_queue() before register_netdev
Steve Hodgson [Mon, 1 Sep 2008 11:48:20 +0000 (12:48 +0100)]
sfc: Do not call netif_{stop,wake}_queue() before register_netdev

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Make PHY flash mode a device attribute, not a module parameter
Ben Hutchings [Mon, 1 Sep 2008 11:48:17 +0000 (12:48 +0100)]
sfc: Make PHY flash mode a device attribute, not a module parameter

This allows updating PHY firmware for one interface without removing
all other interfaces handled by the driver.

Replace tx_disabled flags and 10Xpress status enumeration with flags in
enum efx_phy_mode.

Prevent an interface from being brought up while in PHY flash mode.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Implement get_sset_count, replacing get_stats_count and self_test_count
Ben Hutchings [Mon, 1 Sep 2008 11:48:12 +0000 (12:48 +0100)]
sfc: Implement get_sset_count, replacing get_stats_count and self_test_count

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Cleanup RX event processing
Ben Hutchings [Mon, 1 Sep 2008 11:48:08 +0000 (12:48 +0100)]
sfc: Cleanup RX event processing

Make efx_process_channel() and falcon_process_eventq() return the
number of packets received rather than updating the quota, consistent
with new NAPI.

Since channels and RX queues are mapped one-to-one, remove return
value from falcon_handle_rx_event() and add a warning for events
with the wrong RX queue number.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove efx_channel::evqnum field
Ben Hutchings [Mon, 1 Sep 2008 11:48:03 +0000 (12:48 +0100)]
sfc: Remove efx_channel::evqnum field

It is redundant with efx_channel::channel.

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

Currently each channel can have at most one RX queue, so go straight to
that one.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove initialisation of RX_FILTER_CTL_REG.NUM_KER
Ben Hutchings [Mon, 1 Sep 2008 11:47:52 +0000 (12:47 +0100)]
sfc: Remove initialisation of RX_FILTER_CTL_REG.NUM_KER

We have long since given up doing RSS on Falcon A1 and therefore we
would always write the default value of 0.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Cleanup RX queue information
Ben Hutchings [Mon, 1 Sep 2008 11:47:48 +0000 (12:47 +0100)]
sfc: Cleanup RX queue information

Rename efx_nic::rss_queues to the more obvious n_rx_queues

Remove efx_rx_queue::used and other stuff that's redundant with it.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove efx_channel::has_interrupt
Ben Hutchings [Mon, 1 Sep 2008 11:47:38 +0000 (12:47 +0100)]
sfc: Remove efx_channel::has_interrupt

efx_channel::has_interrupt is redundant with efx_channel::used_flags.

Remove efx_test_eventq() because it is now obviously unreachable.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Move CPU counting for RSS into a separate function, efx_wanted_rx_queues()
Ben Hutchings [Mon, 1 Sep 2008 11:47:33 +0000 (12:47 +0100)]
sfc: Move CPU counting for RSS into a separate function, efx_wanted_rx_queues()

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Export boot configuration in EEPROM through ethtool
Ben Hutchings [Mon, 1 Sep 2008 11:47:16 +0000 (12:47 +0100)]
sfc: Export boot configuration in EEPROM through ethtool

Extend the SPI device setup code to support this.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Removed forced inlining of long functions
Ben Hutchings [Mon, 1 Sep 2008 11:47:12 +0000 (12:47 +0100)]
sfc: Removed forced inlining of long functions

gcc will automatically inline static functions with only one caller, and
may inline other functions depending on the kernel configuration and size
of the intermediate code.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Cleaned up struct tso_state fields
Ben Hutchings [Mon, 1 Sep 2008 11:47:02 +0000 (12:47 +0100)]
sfc: Cleaned up struct tso_state fields

Squashed nested structures.

Renamed remaining_len to out_len, ifc.len to in_len, header_length to
header_len.

Moved ipv4_id into the group of output variables where it belongs.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Set net_device::vlan_features appropriately
Ben Hutchings [Mon, 1 Sep 2008 11:46:54 +0000 (12:46 +0100)]
sfc: Set net_device::vlan_features appropriately

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Use explicit bool for boolean variables, parameters and return values
Ben Hutchings [Mon, 1 Sep 2008 11:46:50 +0000 (12:46 +0100)]
sfc: Use explicit bool for boolean variables, parameters and return values

Replace (cond ? 1 : 0) with cond or !!cond as appropriate, and
(cond ? 0 : 1) with !cond.

Remove some redundant boolean temporaries.

Rename one field that looks like a flag but isn't.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Reduce the size of struct efx_tx_buffer
Ben Hutchings [Mon, 1 Sep 2008 11:46:43 +0000 (12:46 +0100)]
sfc: Reduce the size of struct efx_tx_buffer

Remove unmap_addr since it can be calculated from dma_addr, len and
unmap_len.  This saves 4-16 bytes.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Use pci_map_single() to map the skb header when doing TSO
Ben Hutchings [Mon, 1 Sep 2008 11:46:40 +0000 (12:46 +0100)]
sfc: Use pci_map_single() to map the skb header when doing TSO

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Don't leak PCI DMA maps in the TSO code when the queue fills up
Ben Hutchings [Mon, 1 Sep 2008 11:46:36 +0000 (12:46 +0100)]
sfc: Don't leak PCI DMA maps in the TSO code when the queue fills up

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Speed up loopback self-test
Ben Hutchings [Mon, 1 Sep 2008 11:46:33 +0000 (12:46 +0100)]
sfc: Speed up loopback self-test

Add efx_poll_loopback() function to test for successful completion of test.
Change efx_test_loopback() to end the test after 1 ms if
efx_poll_loopback() indicates success, and otherwise to wait for 100 ms
as before.

While we're here, rename efx_{rx,tx}_loopback() to
efx_{begin,end}_loopback() which more accurately reflect their
purpose.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Self-test reporting cleanup
Ben Hutchings [Mon, 1 Sep 2008 11:46:28 +0000 (12:46 +0100)]
sfc: Self-test reporting cleanup

Removed log messages that are redundant with calling functions.
Fixed bitwise or-ing of return codes.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Reduce log level for XGXS lane status
Ben Hutchings [Mon, 1 Sep 2008 11:46:25 +0000 (12:46 +0100)]
sfc: Reduce log level for XGXS lane status

This was making noise during 10Xpress self-test.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Reverse the XOFF/XON pause frame control fifo thresholds
Ben Hutchings [Mon, 1 Sep 2008 11:46:21 +0000 (12:46 +0100)]
sfc: Reverse the XOFF/XON pause frame control fifo thresholds

These were clearly bogus.

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 inclusion of workarounds.h from efx.c
Ben Hutchings [Mon, 1 Sep 2008 11:46:16 +0000 (12:46 +0100)]
sfc: Remove inclusion of workarounds.h from efx.c

efx.c does not use hardware workarounds.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: XMAC statistics fix-ups
Ben Hutchings [Mon, 1 Sep 2008 11:46:10 +0000 (12:46 +0100)]
sfc: XMAC statistics fix-ups

Exclude assumed size of RX control frames from rx_bad_bytes.

Exclude assumed size of TX control frames from tx_good_bytes for
consistency with rx_good_bytes.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove mistaken hardware workaround
Ben Hutchings [Mon, 1 Sep 2008 11:46:03 +0000 (12:46 +0100)]
sfc: Remove mistaken hardware workaround

We believed that some valid SNAP frames were being marked as invalid.
In fact this is not the case and no workaround is needed.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Reduce delays in SFE4001 initialisation
Ben Hutchings [Mon, 1 Sep 2008 11:45:48 +0000 (12:45 +0100)]
sfc: Reduce delays in SFE4001 initialisation

Currently the board initialisation includes 2 delays of 1 second each.
Usually it is unnecessary to wait that long, so check before doing so.

Correct some of the comments and log messages while we're here.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Avoid mangling error codes in efx_test_loopback()
Ben Hutchings [Mon, 1 Sep 2008 11:45:08 +0000 (12:45 +0100)]
sfc: Avoid mangling error codes in efx_test_loopback()

efx_test_loopback() used "|" to combine the results of the RX and TX
phases.  If both phases fail with different error codes, this results
in a bogus error code.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Use separate hardware TX queues to select checksum generation
Ben Hutchings [Mon, 1 Sep 2008 11:44:59 +0000 (12:44 +0100)]
sfc: Use separate hardware TX queues to select checksum generation

Checksum generation is an attribute of our hardware TX queues, not TX
descriptors.  We previously used a single queue and turned checksum
generation on or off as requested through ethtool.  However, this can
result in regenerating checksums in raw packets that should not be
modified.  We now create 2 hardware TX queues with checksum generation
on or off.  They are presented to the net core as one queue since it
does not know how to select between them.

The self-test verifies that a bad checksum is unaltered on the queue
with checksum generation off.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove unused field efx_channel::reset_work
Steve Hodgson [Mon, 1 Sep 2008 11:44:48 +0000 (12:44 +0100)]
sfc: Remove unused field efx_channel::reset_work

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Change first parameter type of {set,clear}_bit_le() to unsigned
Ben Hutchings [Mon, 1 Sep 2008 11:43:39 +0000 (12:43 +0100)]
sfc: Change first parameter type of {set,clear}_bit_le() to unsigned

This means the compiler doesn't need to use real division instructions.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Replace net_dev->priv with netdev_priv(net_dev)
Ben Hutchings [Mon, 1 Sep 2008 11:43:14 +0000 (12:43 +0100)]
sfc: Replace net_dev->priv with netdev_priv(net_dev)

Use of the net_device::priv field is deprecated.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetlink: Remove compat API for nested attributes
Thomas Graf [Wed, 3 Sep 2008 00:30:27 +0000 (17:30 -0700)]
netlink: Remove compat API for nested attributes

Removes all _nested_compat() functions from the API. The prio qdisc
no longer requires them and netem has its own format anyway. Their
existance is only confusing.

Resend: Also remove the wrapper macro.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Sat, 30 Aug 2008 06:06:00 +0000 (23:06 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

Conflicts:

net/mac80211/mlme.c

16 years agonet: Unbreak userspace usage of linux/mroute.h
David S. Miller [Fri, 29 Aug 2008 21:37:23 +0000 (14:37 -0700)]
net: Unbreak userspace usage of linux/mroute.h

Nothing in linux/pim.h should be exported to userspace.

This should fix the XORP build failure reported by
Jose Calhariz, the debain package maintainer.

Nothing originally in linux/mroute.h was exported to userspace
ever, but some of this stuff started to be when it was moved into
this new linux/pim.h, and that was wrong.  If we didn't provide these
definitions for 10 years we can reasonably expect that applications
defined this stuff locally or used GLIBC headers providing the
protocol definitions.  And as such the only result of this can
be conflict and userland build breakage.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agopkt_sched: Fix locking of qdisc_root with qdisc_root_sleeping_lock()
Jarek Poplawski [Fri, 29 Aug 2008 21:21:52 +0000 (14:21 -0700)]
pkt_sched: Fix locking of qdisc_root with qdisc_root_sleeping_lock()

Use qdisc_root_sleeping_lock() instead of qdisc_root_lock() where
appropriate. The only difference is while dev is deactivated, when
currently we can use a sleeping qdisc with the lock of noop_qdisc.
This shouldn't be dangerous since after deactivation root lock could
be used only by gen_estimator code, but looks wrong anyway.

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv6: When we droped a packet, we should return NET_RX_DROP instead of 0
Yang Hongyang [Fri, 29 Aug 2008 21:06:51 +0000 (14:06 -0700)]
ipv6: When we droped a packet, we should return NET_RX_DROP instead of 0

Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Fri, 29 Aug 2008 21:02:13 +0000 (14:02 -0700)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next-2.6

16 years agob43: Rewrite TX power adjustment
Michael Buesch [Thu, 28 Aug 2008 17:33:40 +0000 (19:33 +0200)]
b43: Rewrite TX power adjustment

This patch rewrites the TX power recalculation algorithms to scale better
with changed enviromnent. If there's low
TX traffic, the power will be checked against the desired values
every 60 seconds.
If there is high TX traffic, the check is redone every 2 seconds. This improves
the reaction times a lot and confuses the rate control less.
It will also reduce the time it initially takes to tune to a new TX power
value. With the old algorithm it could take about 30 to 45 seconds to settle to
a new power value. This will happen in about two to four seconds now.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Implement dynamic PHY API
Michael Buesch [Wed, 27 Aug 2008 16:53:02 +0000 (18:53 +0200)]
b43: Implement dynamic PHY API

This patch implements a dynamic "ops" based PHY API.
This is needed in order to conveniently support future PHY types
to avoid the "switch"-hell.

This patch does not change any functionality. It just moves lots
of code from one place to another and adjusts it for the changed
data structures.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Release rt2x00 2.2.1
Ivo van Doorn [Fri, 29 Aug 2008 19:07:22 +0000 (21:07 +0200)]
rt2x00: Release rt2x00 2.2.1

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: skb->data pointer should not include TX descriptor
Mattias Nissler [Fri, 29 Aug 2008 19:07:20 +0000 (21:07 +0200)]
rt2x00: skb->data pointer should not include TX descriptor

Make sure the skb->data pointer points to the frame data, not the TX
descriptor. The frame dumping code relies on that.

Signed-off-by: Mattias Nissler <mattias.nissler@gmx.de>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Add Signal type flag
Ivo van Doorn [Fri, 29 Aug 2008 19:07:16 +0000 (21:07 +0200)]
rt2x00: Add Signal type flag

Instead of using the PLCP flag to indicate if the
signal value is plcp or the bitrate we should add
a new flag to mark the bitrate type explicitely.
This is usefull when new types are added later for
rt2800.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>