openwrt/staging/blogic.git
16 years agoWAN: HD64572 already handles TX underruns with DMAC.
Krzysztof Hałasa [Wed, 9 Jul 2008 18:01:23 +0000 (20:01 +0200)]
WAN: HD64572 already handles TX underruns with DMAC.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
16 years agoWAN: TX-done handler now uses the ownership bit in HD64572 drivers.
Krzysztof Hałasa [Wed, 9 Jul 2008 17:47:05 +0000 (19:47 +0200)]
WAN: TX-done handler now uses the ownership bit in HD64572 drivers.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
16 years agoWAN: convert HD64572-based drivers to NAPI.
Krzysztof Hałasa [Wed, 9 Jul 2008 14:49:37 +0000 (16:49 +0200)]
WAN: convert HD64572-based drivers to NAPI.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
16 years agoWAN: remove SCA support from SCA-II drivers
Krzysztof Hałasa [Mon, 24 Mar 2008 19:24:23 +0000 (20:24 +0100)]
WAN: remove SCA support from SCA-II drivers

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
16 years agoWAN: remove SCA II support from SCA drivers
Krzysztof Hałasa [Mon, 24 Mar 2008 18:12:23 +0000 (19:12 +0100)]
WAN: remove SCA II support from SCA drivers

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
16 years agoWAN: split hd6457x.c into hd64570.c and hd64572.c
Krzysztof Hałasa [Mon, 24 Mar 2008 15:39:02 +0000 (16:39 +0100)]
WAN: split hd6457x.c into hd64570.c and hd64572.c

Supporting both original SCA and SCA-II in one file was nice at some
point but now it's increasingly painful.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
16 years agotg3: Update version to 3.96
Matt Carlson [Sat, 22 Nov 2008 01:23:26 +0000 (17:23 -0800)]
tg3: Update version to 3.96

This patch updates the version number to 3.96.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agobroadcom: Add 57780 support
Matt Carlson [Sat, 22 Nov 2008 01:22:53 +0000 (17:22 -0800)]
broadcom: Add 57780 support

This patch adds the 57780 PHY ID to the broadcom module.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Add 57780 support
Matt Carlson [Sat, 22 Nov 2008 01:22:19 +0000 (17:22 -0800)]
tg3: Add 57780 support

This patch adds support for the 57780 ASIC revision.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Allow GPHY powerdown on 5761
Matt Carlson [Sat, 22 Nov 2008 01:21:13 +0000 (17:21 -0800)]
tg3: Allow GPHY powerdown on 5761

The ENABLE_APE flag tells the driver whether or not the device has an
Application Processing Engine (APE).  The APE does not need the PHY to
be powered unless it is running management firmware.  For backwards
compatibility, management firmware will still set the ENABLE_ASF bit.
Consequently, there is no reason to consider the ENABLE_APE flag when
deciding whether or not to power down the phy.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Embrace pci_ioremap_bar()
Matt Carlson [Sat, 22 Nov 2008 01:20:32 +0000 (17:20 -0800)]
tg3: Embrace pci_ioremap_bar()

Per Dave Miller's suggestion, replace the remaining ioremap_nocache()
call with pci_ioremap_bar().  Remove the two IORESOURCE_MEM checks as
they are redundant.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Extract FW ver from alt NVRAM formats
Matt Carlson [Sat, 22 Nov 2008 01:19:41 +0000 (17:19 -0800)]
tg3: Extract FW ver from alt NVRAM formats

This patch extracts the bootcode firmware version from the alternate
selfboot patch NVRAM format.  This format is used on the 5784, 5761 and
some newer devices.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Enable GPHY APD on select devices
Matt Carlson [Sat, 22 Nov 2008 01:18:59 +0000 (17:18 -0800)]
tg3: Enable GPHY APD on select devices

GPHY Autopowerdown (APD) is a way to save power when energy is not
detected on the wire.  At the moment, only the 5784 and 5761 are
capable of enabling this mode.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Prevent corruption at 10 / 100Mbps w CLKREQ
Matt Carlson [Sat, 22 Nov 2008 01:18:16 +0000 (17:18 -0800)]
tg3: Prevent corruption at 10 / 100Mbps w CLKREQ

This patch disables CLKREQ at 10Mbps and 100Mbps to workaround a TX BD
corruption issue.  This problem only affects the 5784 and 5761 (and
57780 AX) ASIC revisions.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Qualify use of tp->pcix_cap
Matt Carlson [Sat, 22 Nov 2008 01:17:04 +0000 (17:17 -0800)]
tg3: Qualify use of tp->pcix_cap

This patch makes sure the device is a PCIX device before attempting to
use the pcix_cap device structure member.  This is prep work for the
following patch.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Use NET_IP_ALIGN
Matt Carlson [Sat, 22 Nov 2008 01:16:16 +0000 (17:16 -0800)]
tg3: Use NET_IP_ALIGN

This patch replaces hardcoded 2's with the NET_IP_ALIGN constant or
TG3_RAW_IP_ALIGN where appropriate.  Some platforms can redefine the
NET_IP_ALIGN definition to zero if unaligned DMA transfers cost more
than the IP header alignment gains.  This patch represents a
performance improvement when using the 5701 on these platforms.
The copy path can be avoided.

TG3_RAW_IP_ALIGN is used in cases where we always want to align the
IP header on dword boundaries.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: remove redundant argument comments
Qinghuang Feng [Sat, 22 Nov 2008 01:15:03 +0000 (17:15 -0800)]
net: remove redundant argument comments

Remove redundant argument comments in files of net/*

Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.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 [Sat, 22 Nov 2008 01:05:11 +0000 (17:05 -0800)]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next-2.6

16 years agoe1000e: check return code from NVM accesses and fix bank detection
Bruce Allan [Sat, 22 Nov 2008 01:02:41 +0000 (17:02 -0800)]
e1000e: check return code from NVM accesses and fix bank detection

Check return code for all NVM accesses[1] and error out accordingly; log
a debug message for failed accesses.

For ICH8/9, the valid NVM bank detect function was not checking whether the
SEC1VAL (sector 1 valid) bit in the EECD register was itself valid (bits 8
and 9 also have to be set).  If invalid, it would have defaulted to the
possibly invalid bank 0.  Instead, try to use the valid bank detection
method used by ICH10 which has been cleaned up a bit.

[1] - reads and updates only; not writes because those are only writing to
the Shadow RAM, the update following the write is the only thing actually
writing the modified Shadow RAM contents to the NVM.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoe1000e: fix incorrect link status when switch module pulled
Bruce Allan [Sat, 22 Nov 2008 01:01:35 +0000 (17:01 -0800)]
e1000e: fix incorrect link status when switch module pulled

On 82571 with SerDes, the true link state is not always correct when read
from the STATUS register; use existing e1000_has_link() function instead.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoe1000e: store EEPROM version number to prevent unnecessary NVM reads
Bruce Allan [Sat, 22 Nov 2008 01:00:22 +0000 (17:00 -0800)]
e1000e: store EEPROM version number to prevent unnecessary NVM reads

Rather than reading the NVM to get the EEPROM version number everytime the
ethool get_drvinfo function is called, read it once during probe and save
it for future reference.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoe1000e: cosmetic newline in debug message
Bruce Allan [Sat, 22 Nov 2008 00:59:54 +0000 (16:59 -0800)]
e1000e: cosmetic newline in debug message

Add missing newline from debug message.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoe1000e: sync change flow control variables with ixgbe
Bruce Allan [Sat, 22 Nov 2008 00:57:36 +0000 (16:57 -0800)]
e1000e: sync change flow control variables with ixgbe

Sync flow control variables and usage model with that found in the ixgbe
driver.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoe1000e: link up/down messages must follow a specific format
Bruce Allan [Sat, 22 Nov 2008 00:54:43 +0000 (16:54 -0800)]
e1000e: link up/down messages must follow a specific format

The system log messages created on a link status change need to follow a
specific format to work with tools some customers use.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoe1000e: ESB2 config after link up
Bruce Allan [Sat, 22 Nov 2008 00:53:51 +0000 (16:53 -0800)]
e1000e: ESB2 config after link up

On ESB2, the MAC-to-PHY (Kumeran) interface must be configured after link
is up before any traffic is sent; a new PHY operations function pointer is
provided for this.  To facilitate read/write of the Kumeran registers
without blocking PHY register writes, the driver/firmware synchronization
method which previously used a hardware semaphore for both PHY and Kumeran
register accesses is now split.  New Kumeran register read/write functions
utilize this new synchronization method.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoe1000e: check return of pci_save_state
Bruce Allan [Sat, 22 Nov 2008 00:51:33 +0000 (16:51 -0800)]
e1000e: check return of pci_save_state

Check return of pci_save_state and error out accordingly.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoe1000e: update comments listing supported parts for each MAC family
Bruce Allan [Sat, 22 Nov 2008 00:51:06 +0000 (16:51 -0800)]
e1000e: update comments listing supported parts for each MAC family

Some branding strings (displayed via lspci) are missing from the comments in
various family-specific files 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: David S. Miller <davem@davemloft.net>
16 years agoe1000e: 82571 check for link fix on 82571 serdes
Bruce Allan [Sat, 22 Nov 2008 00:50:34 +0000 (16:50 -0800)]
e1000e: 82571 check for link fix on 82571 serdes

Check for link test does not work properly for 82571 parts in a blade
environment with an unterminated serdes link partner.  Make the test more
robust by checking the invalid bit.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoe1000e: commit speed/duplex changes for m88 PHY
Bruce Allan [Sat, 22 Nov 2008 00:49:53 +0000 (16:49 -0800)]
e1000e: commit speed/duplex changes for m88 PHY

Follow the convention used elsewhere in e1000e to 'commit' PHY changes
instead of directly writing to the PHY CTRL register to reset it.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoe1000e: disable correctable errors for quad ports while going to D3
Alexander Duyck [Sat, 22 Nov 2008 00:49:10 +0000 (16:49 -0800)]
e1000e: disable correctable errors for quad ports while going to D3

There has been an issue seen with the pci-e quad port adapters that will
cause them to generate a pci-e correctable error on some system while
transitioning to D3.

Since no action is needed on this correctable error the simplest solution
is to mask off the reporting of correctable errors.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoinet_diag: Missed conversion after changing inet ehash lockl to spinlocks.
David S. Miller [Sat, 22 Nov 2008 00:39:19 +0000 (16:39 -0800)]
inet_diag: Missed conversion after changing inet ehash lockl to spinlocks.

They are no longer a rwlocks.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdevice pc300: Add the reason about PC300 BROKEN in Kconfig
Wang Chen [Sat, 22 Nov 2008 00:36:22 +0000 (16:36 -0800)]
netdevice pc300: Add the reason about PC300 BROKEN in Kconfig

When compile test my previous patch, I found PC300 driver was broken.
And there is no explanation about the broken.
Add the reason about why change this driver to broken in Kconfig.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdevice pc300: Convert directly reference of netdev->priv
Wang Chen [Sat, 22 Nov 2008 00:35:44 +0000 (16:35 -0800)]
netdevice pc300: Convert directly reference of netdev->priv

netdev's private data should be hdlc.
pc300dev_t is the private data of hdlc.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonetdevice hdlc: Convert directly reference of netdev->priv
Wang Chen [Sat, 22 Nov 2008 00:34:18 +0000 (16:34 -0800)]
netdevice hdlc: Convert directly reference of netdev->priv

For killing directly reference of netdev->priv, use netdev->ml_priv to replace it.
Because the private pvc data comes from add_pvc() and can't be allocated in
alloc_netdev().

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Acked-by: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: use net_eq() in INET_MATCH and INET_TW_MATCH
Eric Dumazet [Fri, 21 Nov 2008 23:49:19 +0000 (15:49 -0800)]
net: use net_eq() in INET_MATCH and INET_TW_MATCH

We can avoid some useless instructions if !CONFIG_NET_NS

Because of RCU, we use INET_MATCH or INET_TW_MATCH twice for the found
socket, so thats six instructions less per incoming TCP packet.

Yet another tbench speedup :)

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowireless: missing include in lib80211.h
Rami Rosen [Wed, 19 Nov 2008 07:37:43 +0000 (09:37 +0200)]
wireless: missing include in lib80211.h

This patch adds #include <linux/timer.h> in lib80211.h to avoid
these compilation erros.

> In file included from /work/src/wireless-testing/net/wireless/lib80211.c:24:
> /work/src/wireless-testing/include/net/lib80211.h:113: error: field
> 'crypt_deinit_timer' has incomplete type
> /work/src/wireless-testing/net/wireless/lib80211.c: In function
> 'lib80211_crypt_info_init':
> /work/src/wireless-testing/net/wireless/lib80211.c:83: error: implicit
> declaration of function 'setup_timer'
> /work/src/wireless-testing/net/wireless/lib80211.c: In function
> 'lib80211_crypt_info_free':
> /work/src/wireless-testing/net/wireless/lib80211.c:95: error: implicit
> declaration of function 'del_timer_sync'
> /work/src/wireless-testing/net/wireless/lib80211.c: In function
> 'lib80211_crypt_deinit_handler':
> /work/src/wireless-testing/net/wireless/lib80211.c:157: error:
> implicit declaration of function 'add_timer'
> /work/src/wireless-testing/net/wireless/lib80211.c: In function
> 'lib80211_crypt_delayed_deinit':
> /work/src/wireless-testing/net/wireless/lib80211.c:182: error:
> implicit declaration of function 'timer_pending'
> make[3]: *** [net/wireless/lib80211.o] Error 1
> make[2]: *** [net/wireless] Error 2
> make[1]: *** [net] Error 2
> make: *** [sub-make] Error 2

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agortl8187: Update file authorship in comments
Larry Finger [Wed, 12 Nov 2008 23:31:52 +0000 (17:31 -0600)]
rtl8187: Update file authorship in comments

Modify the file comments to reflect the current maintainers.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Acked-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoUpdate of MAINTAINERS for RTL8187
Larry Finger [Wed, 12 Nov 2008 23:13:09 +0000 (17:13 -0600)]
Update of MAINTAINERS for RTL8187

As noted by John Linville, the RTL818X maintainers have "moved on", and the
responsibilities for RTL8180 and RTL8187 have been split. This is the
corresponding update of MAINTAINERS.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br>
Acked-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agowireless: clean up sysfs code using %pM
Johannes Berg [Tue, 28 Oct 2008 13:00:54 +0000 (14:00 +0100)]
wireless: clean up sysfs code using %pM

Remove converting the MAC address to a string by a direct byte
conversion and use %pM instead, since the code is now boilerplate
use a macro to define the show functions, and also use the shorter
__ATTR_RO macro to define the attributes.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoMAINTAINERS: claim maintenance over rtl818x drivers
John W. Linville [Wed, 12 Nov 2008 19:51:56 +0000 (14:51 -0500)]
MAINTAINERS: claim maintenance over rtl818x drivers

Michael and Andrea have moved-on, so we shouldn't be bothering them
about these drivers anymore.

Actually, Herton Ronaldo Krzesinski, Hin-Tak Leung, and Larry Finger
have been handling the rtl8187 stuff for a while.  So, I would welcome a
patch from one of them changing this to just RTL8180 and adding an
RTL8187 entry with their names...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agortl8180: adapt for deprecated IEEE80211_CONF_SHORT_SLOT_TIME flag
John W. Linville [Wed, 12 Nov 2008 19:37:11 +0000 (14:37 -0500)]
rtl8180: adapt for deprecated IEEE80211_CONF_SHORT_SLOT_TIME flag

This updates rtl8180 handling for short slot after "mac80211: fix short
slot handling". Only rtl8180_rtl8225 actually had code for handling
short slot times, so the other RF devices are untouched by this change.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add explicit padding in struct ieee80211_tx_info
John W. Linville [Wed, 12 Nov 2008 15:01:41 +0000 (10:01 -0500)]
mac80211: add explicit padding in struct ieee80211_tx_info

Otherwise, the BUILD_BUG_ON calls in ieee80211_tx_info_clear_status can
fail on some architectures.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agonet/ieee80211 -> drivers/net/ipw2x00/libipw_* rename
John W. Linville [Tue, 11 Nov 2008 21:45:38 +0000 (16:45 -0500)]
net/ieee80211 -> drivers/net/ipw2x00/libipw_* rename

The old ieee80211 code only remains as a support library for the ipw2100
and ipw2200 drivers.  So, move the code and rename it appropriately to
reflects it's true purpose and status.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoipw2x00: relocate ipw2100/ipw2200 to common directory
John W. Linville [Tue, 11 Nov 2008 21:22:09 +0000 (16:22 -0500)]
ipw2x00: relocate ipw2100/ipw2200 to common directory

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolib80211: consolidate crypt init routines
John W. Linville [Tue, 11 Nov 2008 21:00:06 +0000 (16:00 -0500)]
lib80211: consolidate crypt init routines

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolib80211: absorb crypto bits from net/ieee80211
John W. Linville [Wed, 29 Oct 2008 15:35:05 +0000 (11:35 -0400)]
lib80211: absorb crypto bits from net/ieee80211

These bits are shared already between ipw2x00 and hostap, and could
probably be shared both more cleanly and with other drivers.  This
commit simply relocates the code to lib80211 and adjusts the drivers
appropriately.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoorinoco: fix last beacon reporting on 64-bit systems
Pavel Roskin [Mon, 10 Nov 2008 14:25:53 +0000 (09:25 -0500)]
orinoco: fix last beacon reporting on 64-bit systems

orinoco_translate_scan() and orinoco_translate_ext_scan() wrongly
truncate last_scanned argument from unsigned long to unsigned int.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: remove unnecessary include.
Rami Rosen [Mon, 10 Nov 2008 07:01:09 +0000 (09:01 +0200)]
mac80211: remove unnecessary include.

This patch removes unnecessary #include <linux/netdevice.h> from
/net/mac80211/mlme.c.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Fix race condition when using inderect registers
Ivo van Doorn [Sun, 9 Nov 2008 22:40:46 +0000 (23:40 +0100)]
rt2x00: Fix race condition when using inderect registers

Indirect registers require multiple calls to the CSR
register in order to access the indirect registers.
This must be protected under a lock to prevent race
conditions which could cause invalid data to
be returned when reading from the indirect register or silent
failures when writing data to the indirect register.

USB drivers where already protected under a mutex,
so rename the mutex and make PCI drivers use the mutex
as well.
This now means that BBP and RF registers are no longer
accessible in interrupt context. That is not a bad
situation since the slow behavior of accessing
those registers means we don't _want_ to access them
in interrupt context either.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Optimize get_duration / get_duration_res
Ivo van Doorn [Sun, 9 Nov 2008 19:47:00 +0000 (20:47 +0100)]
rt2x00: Optimize get_duration / get_duration_res

We can optimize get_duration and get_duration_res
by making them a macro. They are really simple
calculation handlers so this doesn't matter much.

Often (especially in rt2400pci and rt2500pci,
the arguments are hardcoded, and the result value
is passed into other hardcoded values.

By making the functions a macro GCC can
optimize the entire thing much better.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agodrivers/net/wireless/ath9k/rc.c: use ARRAY_SIZE
Julia Lawall [Sun, 9 Nov 2008 16:56:10 +0000 (17:56 +0100)]
drivers/net/wireless/ath9k/rc.c: use ARRAY_SIZE

ARRAY_SIZE is more concise to use when the size of an array is divided by
the size of its type or the size of its first element.

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

// <smpl>
@i@
@@

#include <linux/kernel.h>

@depends on i using "paren.iso"@
type T;
T[] E;
@@

- (sizeof(E)/sizeof(E[...]))
+ ARRAY_SIZE(E)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211_hwsim: Update documentation (AP mode enabled)
Jouni Malinen [Sun, 9 Nov 2008 16:38:51 +0000 (18:38 +0200)]
mac80211_hwsim: Update documentation (AP mode enabled)

AP mode is now enabled in mac80211, so there is no need to point users
to an additional patch to enable the mode. In addition, add a pointer to
more hwsim test cases in hostap.git.

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: rc80211_pid eliminate sparse warnings
Tomas Winkler [Sat, 8 Nov 2008 21:50:55 +0000 (23:50 +0200)]
mac80211: rc80211_pid eliminate sparse warnings

This patch eliminates sparse warnings in pid rate scale algorithm
'debugfs: allow access to signed values' patch hit the dead end
year ago w/o much echo so I guess there is no real need to address this
properly.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Cleanup TX/RX entry handling
Ivo van Doorn [Sat, 8 Nov 2008 14:25:33 +0000 (15:25 +0100)]
rt2x00: Cleanup TX/RX entry handling

Merge the callback functions init_txentry() and
init_rxentry(). This makes life in rt2x00lib a
lot simpler and we can cleanup several functions.

rt2x00pci contained "fake" FIELD definitions for
descriptor words. This is not flexible since it
assumes the driver will always have the same field
to indicate if a driver is available or not.
This should be dependent on the driver, and we
should add a callback function for this.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: remove more excess kernel-doc
Randy Dunlap [Sat, 8 Nov 2008 03:50:42 +0000 (19:50 -0800)]
mac80211: remove more excess kernel-doc

Delete kernel-doc struct descriptions for fields that don't exist:

Warning(include/net/mac80211.h:1263): Excess struct/union/enum/typedef member 'conf_ht' description in 'ieee80211_ops'
Warning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member 'addr' description in 'sta_info'
Warning(net/mac80211/sta_info.h:309): Excess struct/union/enum/typedef member 'aid' description in 'sta_info'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
cc: Johannes Berg <johannes@sipsolutions.net>
cc: John W. Linville <linville@tuxdriver.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: use Rx single frame mode (one Rx frame per RB)
Zhu, Yi [Fri, 7 Nov 2008 17:58:46 +0000 (09:58 -0800)]
iwlwifi: use Rx single frame mode (one Rx frame per RB)

The RCSR default value for single frame mode is off (a RB contains more than
one frames). But the driver assumes single frame mode apparently. This patch
enables single frame mode for the hardware. It also adds a BUG_ON to make sure
the allocated skb satisfies the hardware alignment requirement and removes
a useless check.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: get some more information about command failure
Winkler, Tomas [Fri, 7 Nov 2008 17:58:45 +0000 (09:58 -0800)]
iwlwifi: get some more information about command failure

This patch adds additional info about wrong command queue bug

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl3945 : Simplify iwl3945_send_beacon_cmd
Kolekar, Abhijeet [Fri, 7 Nov 2008 17:58:44 +0000 (09:58 -0800)]
iwl3945 : Simplify iwl3945_send_beacon_cmd

Moved rate_msk calculation to iwl3945_rate_get_lowest_plcp.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move iwl_print_hex_dump to iwl-debug.h
Winkler, Tomas [Fri, 7 Nov 2008 17:58:43 +0000 (09:58 -0800)]
iwlwifi: move iwl_print_hex_dump to iwl-debug.h

This patch moves iwl_print_hex_dump to iwl-debug.h
where it belongs

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl3945 : Fix Sparse Warnings
Kolekar, Abhijeet [Fri, 7 Nov 2008 17:58:42 +0000 (09:58 -0800)]
iwl3945 : Fix Sparse Warnings

Patch fixes sparse warnings. No need to convert u8 variable
to 32.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move spectrum measurement code to iwl-spectrum.c file
Tomas Winkler [Fri, 7 Nov 2008 17:58:41 +0000 (09:58 -0800)]
iwlwifi: move spectrum measurement code to iwl-spectrum.c file

This patch moves spectrum measurement code into iwl-sepctrum.c file.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: revamp tx scheduler byte count tables handling
Tomas Winkler [Fri, 7 Nov 2008 17:58:40 +0000 (09:58 -0800)]
iwlwifi: revamp tx scheduler byte count tables handling

This moves byte count tables to tx domain removing completely
ambivalent shared data. Changes handling of allocation
byte count tables and keep warm consistent memory
Moves general tx scheduler definitions from iwl-4956-hw.h
to iwl-fh.h

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move rx queue read pointer into rxq
Winkler, Tomas [Fri, 7 Nov 2008 17:58:39 +0000 (09:58 -0800)]
iwlwifi: move rx queue read pointer into rxq

This patch moves rx status/read registers into
iwl_rx_queue structures. This solution is more memory
hungry but is more structured and provides needed RX/TX
separation

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: update iwl-commands.h for 3 stream support
Halperin, Daniel C [Fri, 7 Nov 2008 17:58:38 +0000 (09:58 -0800)]
iwlwifi: update iwl-commands.h for 3 stream support

This patch updates comments and constants to support 1, 2, or 3 spatial streams
in rate_n_flags .

Signed-off-by: Daniel Halperin <daniel.c.halperin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: don't fail power set when calibration is not done yet
Winkler, Tomas [Fri, 7 Nov 2008 17:58:37 +0000 (09:58 -0800)]
iwlwifi: don't fail power set when calibration is not done yet

This patch doesn't fail power save setting when calibration is
not done yet. The new power index is registered and will
be evaluated again anyway upon calibration completion.

This patch also eliminates WARN_ON in mac80211 hw_config during
initialization

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: trivial fix in includes
Winkler, Tomas [Fri, 7 Nov 2008 17:58:36 +0000 (09:58 -0800)]
iwlwifi: trivial fix in includes

This patch removes one FIXME: in rearranging includes

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl3945: fix resume for ADHOC network
Mohamed Abbas [Fri, 7 Nov 2008 17:58:35 +0000 (09:58 -0800)]
iwl3945: fix resume for ADHOC network

 ieee80211_notify_mac only reconnect BSS networks. Since IBSS does
 not need any auth or assoc steps we can just resume to the same
 condition before suspend. This patch will reestablish the ad-hoc
 network once it comes back from resume.

http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1774

Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlagn: fix resume for ADHOC network
Mohamed Abbas [Fri, 7 Nov 2008 17:58:34 +0000 (09:58 -0800)]
iwlagn: fix resume for ADHOC network

 ieee80211_notify_mac only reconnect BSS networks. Since IBSS does
 not need any auth or assoc steps we can just resume to the same
 condition before suspend. This patch will reestablish the ad-hoc
 network once it comes back from resume.

http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1774

Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: remove rate index warning
Johannes Berg [Thu, 6 Nov 2008 16:20:24 +0000 (17:20 +0100)]
b43: remove rate index warning

I frequently run into this warning, and added some
debugging to see why, and got this:

b43 bad rx: 00000000: 2f d2 e2 63 cf a7 14 04 28 18 c8 5f 88 4a a2 00
                      bogus junk       | plcp            | fctl| dur

b43 bad rx: 00000010: 00 11 24 91 07 4d 00 06 25 ff 8f 78 00 06 25 ff
                      my MAC address   | BSSID           | AP MAC
b43 bad rx: 00000020: 8f 76 20 74 00 00 42 07 00 20 00 00 00 00 aa aa
                           | seq | QoS | CCMP IV               | data
                      ...

As you can see, there are 6 bogus bytes (sometimes only five) and then
the frame. I don't know why, and I don't see how to recover, so let's
just drop these frames.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: implement short slot and basic rate handling
Johannes Berg [Thu, 6 Nov 2008 14:18:11 +0000 (15:18 +0100)]
b43legacy: implement short slot and basic rate handling

This implements proper short slot handling and adds code to
program the hardware for the correct response rates derived
from the basic rate set for the current BSS.

(port from b43)

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoipw2200: make association only if SSID is known.
Alexey Fisher [Thu, 6 Nov 2008 08:51:16 +0000 (09:51 +0100)]
ipw2200: make association only if SSID is known.

'iwconfig eth1 channel 6' would trigger association to _something_,
which is wrong.  Changing the channel should (and does) trigger reassociation,
but only if there is an SSID to associate with.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Acked-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoath9k: enable RXing of beacons on STA/IBSS
Luis R. Rodriguez [Mon, 3 Nov 2008 22:43:01 +0000 (14:43 -0800)]
ath9k: enable RXing of beacons on STA/IBSS

This enables beacons to come through on STA/IBSS.
It should fix sporadic connection issues. Right now
mac80211 expect beacons so give it beacons.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoath5k: allow APs to receive beacons
Luis R. Rodriguez [Mon, 3 Nov 2008 22:43:00 +0000 (14:43 -0800)]
ath5k: allow APs to receive beacons

Allow APs to receive beacons to detect when it needs
to use protection to update the NAV correctly on
11b stations.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoath5k: Fix IMR init
Nick Kossifidis [Mon, 3 Nov 2008 22:25:54 +0000 (00:25 +0200)]
ath5k: Fix IMR init

*On a previous patch i splitted AR5K_INT_TX to multiple different TX
interrupt flags for better handling but i forgot to unmask the new
TXDESC and TXEOL interrupts on ath5k_init and only left TXOK. However
for each queue we enable TXDESC and TXEOL interrupts, not TXOK so we don't
handle TX interrupts at all (because these interrupts remain masked on
PISR) and under load it results packet loss. Fix the problem by
unmasking TXDESC and TXEOL on ath5k_init.

Signed-Off-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoath9k : Display MAC/BB and RF version at startup (v2)
Benoit PAPILLAULT [Thu, 6 Nov 2008 21:26:49 +0000 (22:26 +0100)]
ath9k : Display MAC/BB and RF version at startup (v2)

This patch decodes the MAC/BB version (for instance: AR5416) and the RF
part version (for instance: AR5133). It has been tested on AR5416/AR5133
which is a 2.4/5GHz 11n device. It also makes the differences between
AR5416 (PCI) and AR5418 (PCI Express). Both are named AR5416 in
the register definitions.

Signed-off-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: fix BUILD_BUG_ON() caused by misalignment on arm
Felix Fietkau [Mon, 3 Nov 2008 20:05:01 +0000 (21:05 +0100)]
mac80211: fix BUILD_BUG_ON() caused by misalignment on arm

On ARM alignment is done slightly different from other architectures.
struct ieee80211_tx_rate is aligned to word size, even though it only has 3
single-byte members, which triggers the BUILD_BUG_ON in
ieee80211_tx_info_clear_status

This patch marks the struct ieee80211_tx_rate as packed, so that ARM
behaves like the other architectures.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoath5k: ignore the return value of ath5k_hw_noise_floor_calibration
Felix Fietkau [Mon, 3 Nov 2008 10:27:38 +0000 (11:27 +0100)]
ath5k: ignore the return value of ath5k_hw_noise_floor_calibration

Noise floor calibration occasionally fails on Atheros hardware.
This is not fatal and can happen if there's simply too much
noise on the air. Ignoring the calibration error is the right
thing to do here, because when the error is ignored, the hardware
will still work, whereas if the error causes the driver to bail out
of a bigger configuration function and does not configure the tx
queues or the IMR (as is the case in reset.c), the hw no longer
works properly until the next reset.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Fix BUG_ON() with antenna handling
Ivo van Doorn [Sat, 1 Nov 2008 23:38:10 +0000 (00:38 +0100)]
rt2x00: Fix BUG_ON() with antenna handling

With the new configuration handling, and more specifically
splitting the configuration of the antenna from the normal
configuration steps allowed a BUG_ON() to be triggered
in the driver because the SW_DIVERSITY was send to the
driver. This fixes that by catching the value early in
rt2x00config.c and replacing it with a sensible value.

This also fixes a problem where the antenna is not being
initialized at all when the radio is enabled. Since it
no longer is part of the mac80211 configuration the
only place where rt2x00 configured it was the SW diversity
handler. Obviously this is broken for all non-diversity
hardware and breaks SW diversity due to a broken initialization.

When the radio is enabled the antenna will be configured
once as soon as the config() callback function is called.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Block set_key() during suspend/shutdown
Ivo van Doorn [Sat, 1 Nov 2008 23:37:25 +0000 (00:37 +0100)]
rt2x00: Block set_key() during suspend/shutdown

mac80211 will call set_key() when the device is
shutting down. When the device is unplugged the
keys will be lost automatically due to the power
loss. When the device is not plugged but the module
is only unloaded the keys can remain in the device
hardware, when the module is loaded the keys will
be cleaned up during initialization.

This should prevent the problem reported by Johannes Berg,
where unplugging the device while suspended resulted in
a NULL pointer error during set_key() which was
caused because of the CSR base address being freed.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Fix LED state handling
Ivo van Doorn [Sat, 1 Nov 2008 23:37:09 +0000 (00:37 +0100)]
rt2x00: Fix LED state handling

For every global LED state change (register/unregister,
suspend/resume) we should force the LEDS to turn off.
This makes sure that the LEDS will always be in a sane
state after the state switch.

Note that when unregister is called but the LED class
wasn't resumed yet, we shouldn't change the LED state
since we might not have access to the device (device
was unplugged while suspended).

Also remove the checks in the activity, assoc and
radio LEDS which blocked calls to brightness_set()
when the state hasn't changed. Some of those LEDS
could be enabled by themselves when something happens
in the hardware (e.g. firmware is loaded). We already
did called rt2x00leds to switch the LED off, but those
calls were blocked.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Remove RATE_BASIC flag
Ivo van Doorn [Sat, 1 Nov 2008 23:36:40 +0000 (00:36 +0100)]
rt2x00: Remove RATE_BASIC flag

mac80211 is in charge of determining the basic rates,
so we are not using the RATE_BASIC flag anymore.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoMove all rtl818x files to a common directory.
Larry Finger [Sat, 1 Nov 2008 00:19:31 +0000 (17:19 -0700)]
Move all rtl818x files to a common directory.

This change improves the maintainability of these drivers. No functionality
is changed.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211_hwsim: enable Mesh Point operation
Andrey Yurovsky [Sat, 1 Nov 2008 06:23:35 +0000 (23:23 -0700)]
mac80211_hwsim: enable Mesh Point operation

Initial mesh support: add Mesh Point to supported interfaces mask and allow
hwsim to send beacons in mesh mode.

Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: disable BSSID filtering for mesh interfaces
Andrey Yurovsky [Fri, 31 Oct 2008 21:50:12 +0000 (14:50 -0700)]
mac80211: disable BSSID filtering for mesh interfaces

Mesh interfaces are currently opened with the FIF_ALLMULTI rx filter flag set,
however there is no BSSID in mesh so BSSID filtering should be disabled by
setting the FIF_OTHER_BSS flag as well.  Also explicitly call
ieee80211_configure_filter for mesh.

Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Signed-off-by: Javier Cardona <javier@cozbit.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: struct device - replace bus_id with dev_name(), dev_set_name()
Kay Sievers [Thu, 30 Oct 2008 14:51:57 +0000 (15:51 +0100)]
ssb: struct device - replace bus_id with dev_name(), dev_set_name()

This patch is part of a larger patch series which will remove
the "char bus_id[20]" name string from struct device. The device
name is managed in the kobject anyway, and without any size
limitation, and just needlessly copied into "struct device".

To set and read the device name dev_name(dev) and dev_set_name(dev)
must be used. If your code uses static kobjects, which it shouldn't
do, "const char *init_name" can be used to statically provide the
name the registered device should have. At registration time, the
init_name field is cleared, to enforce the use of dev_name(dev) to
access the device name at a later time.

We need to get rid of all occurrences of bus_id in the entire tree
to be able to enable the new interface. Please apply this patch,
and possibly convert any remaining remaining occurrences of bus_id.

We want to submit a patch to -next, which will remove bus_id from
"struct device", to find the remaining pieces to convert, and finally
switch over to the new api, which will remove the 20 bytes array
and does no longer have a size limitation.

CC: Michael Buesch <mb@bu3sch.de>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-Off-By: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: Fine grained configuration of wake-on-lan.
Anna Neal [Mon, 20 Oct 2008 23:46:56 +0000 (16:46 -0700)]
libertas: Fine grained configuration of wake-on-lan.

Based on a patch from Shailendra Govardhan <shailen@marvell.com>.
This patch allows implementation of more specific wake-on-lan rules than those
of ethtool.

Please note that only firmware 5.110.22.p20 and above supports this feature.

This patch only implements the driver/firmware interface, not the
userspace/driver interface.

Signed-off-by: Anna Neal <anna@cozybit.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoipw2100, ipw2200: select LIB80211
John W. Linville [Mon, 10 Nov 2008 18:59:18 +0000 (13:59 -0500)]
ipw2100, ipw2200: select LIB80211

Otherwise some configs can result in missing print_ssid...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agonetdevice zd1201: Convert directly reference of netdev->priv to netdev_priv()
John W. Linville [Fri, 31 Oct 2008 18:13:12 +0000 (14:13 -0400)]
netdevice zd1201: Convert directly reference of netdev->priv to netdev_priv()

We have some reasons to kill netdev->priv:
1. netdev->priv is equal to netdev_priv().
2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously
   netdev_priv() is more flexible than netdev->priv.
But we cann't kill netdev->priv, because so many drivers reference to it
directly.

OK, becasue Dave S. Miller said, "every direct netdev->priv usage is a bug",
and I want to kill netdev->priv later, I decided to convert all the direct
reference of netdev->priv first.

(Original patch posted by Wang Chen <wangchen@cn.fujitsu.com> w/ above
changelog but using dev->ml_priv.  That doesn't seem appropriate
to me for this driver, so I've revamped it to use netdev_priv()
instead. -- JWL)

Reviewed-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agopkt_sched: sch_drr: Fix qlen in drr_drop()
Jarek Poplawski [Fri, 21 Nov 2008 12:37:27 +0000 (04:37 -0800)]
pkt_sched: sch_drr: Fix qlen in drr_drop()

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoixgbe: convert directly reference of netdev->priv
Wang Chen [Fri, 21 Nov 2008 09:56:07 +0000 (01:56 -0800)]
ixgbe: convert directly reference of netdev->priv

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoixgbe: add SFP+ driver support
Donald Skidmore [Fri, 21 Nov 2008 05:11:42 +0000 (21:11 -0800)]
ixgbe: add SFP+ driver support

This patch adds support for SFP+ PHY in the following device ID's (10DB,
10F1, 10E1).  These SFP+ PHY's are accessed via an I2C interface so the
patch also includes functions to support this.

Another feature of note is that the PHY is pluggable and some
rearchitecting was needed to support this.

Signed-off-by: Donald Skidmore <donald.c.skidmore@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: David S. Miller <davem@davemloft.net>
16 years agoDCB: Add support for DCB BCN
Alexander Duyck [Fri, 21 Nov 2008 05:10:23 +0000 (21:10 -0800)]
DCB: Add support for DCB BCN

Adds an interface to configure the Backward Congestion Notification
(BCN) feature.  In a BCN capabale network, congestion notifications
from congested points out in the network can cause the end station
limit the rate of a given traffic flow.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoDCB: Add interface to query the state of PFC feature.
Alexander Duyck [Fri, 21 Nov 2008 05:09:23 +0000 (21:09 -0800)]
DCB: Add interface to query the state of PFC feature.

Adds a netlink interface for Data Center Bridging (DCB) to get and set
the enable state of the Priority Flow Control (PFC) feature.
Primarily, this is a way to turn off PFC in the driver while DCB
remains enabled.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoDCB: Add interface to query # of TCs supported by device
Alexander Duyck [Fri, 21 Nov 2008 05:08:19 +0000 (21:08 -0800)]
DCB: Add interface to query # of TCs supported by device

Adds interface for Data Center Bridging (DCB) to query (and set if
supported) the number of traffic classes currently supported by the
device for the two (DCB) features: priority groups (PG) and priority
flow control (PFC).

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoDCB: Add interface to query for the DCB capabilities of an device.
Alexander Duyck [Fri, 21 Nov 2008 05:05:08 +0000 (21:05 -0800)]
DCB: Add interface to query for the DCB capabilities of an device.

Adds to the netlink interface for Data Center Bridging (DCB), allowing
the DCB capabilities supported by a device to be queried.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoixgbe: this patch adds support for DCB to the kernel and ixgbe driver
Alexander Duyck [Fri, 21 Nov 2008 04:52:10 +0000 (20:52 -0800)]
ixgbe: this patch adds support for DCB to the kernel and ixgbe driver

This adds support for Data Center Bridging (DCB) features in the ixgbe
driver and adds an rtnetlink interface for configuring DCB to the
kernel.  The DCB feature support included are Priority Grouping (PG) -
which allows bandwidth guarantees to be allocated to groups to traffic
based on the 802.1q priority, and Priority Based Flow Control (PFC) -
which introduces a new MAC control PAUSE frame which works at
granularity of the 802.1p priority instead of the link (IEEE 802.3x).

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agonet: convert TCP/DCCP ehash rwlocks to spinlocks
Eric Dumazet [Fri, 21 Nov 2008 04:39:09 +0000 (20:39 -0800)]
net: convert TCP/DCCP ehash rwlocks to spinlocks

Now TCP & DCCP use RCU lookups, we can convert ehash rwlocks to spinlocks.

/proc/net/tcp and other seq_file 'readers' can safely be converted to 'writers'.

This should speedup writers, since spin_lock()/spin_unlock()
only use one atomic operation instead of two for write_lock()/write_unlock()

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipgre: convert to netdevice_ops
Stephen Hemminger [Fri, 21 Nov 2008 04:34:29 +0000 (20:34 -0800)]
ipgre: convert to netdevice_ops

Convert ipgre tunnel to netdevice ops.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipv6: convert tunnels to net_device_ops
Stephen Hemminger [Fri, 21 Nov 2008 04:33:56 +0000 (20:33 -0800)]
ipv6: convert tunnels to net_device_ops

Like IPV4, convert the tunnel virtual devices to use net_device_ops.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoipip: convert to net_device_ops
Stephen Hemminger [Fri, 21 Nov 2008 04:33:21 +0000 (20:33 -0800)]
ipip: convert to net_device_ops

Convert to network device ops. Needed to change to directly call
the init routine since two sides share same ops.  In the process
found by inspection a device ref count leak if register_netdevice failed.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>