linux-2.6
15 years agomISDN: DSP now uses ring buffer for echo canceler
Andreas Eversberg [Fri, 22 May 2009 11:04:45 +0000 (11:04 +0000)] 
mISDN: DSP now uses ring buffer for echo canceler

DSP now uses ring buffer for echo canceler.
Added missing include in l1oip_codec.c

Signed-off-by: Andreas Eversberg <andreas@eversberg.eu>
Signed-off-by: Karsten Keil <keil@b1-systems.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomISDN: Add watchdog functionality to hfcmulti driver
Andreas Eversberg [Fri, 22 May 2009 11:04:44 +0000 (11:04 +0000)] 
mISDN: Add watchdog functionality to hfcmulti driver

This patch was made by Titus Moldovan and provides IOCTL functions for enabling
and disabling the controller's built in watchdog. The use is optional.

Signed-off-by: Andreas Eversberg <andreas@eversberg.eu>
Signed-off-by: Karsten Keil <keil@b1-systems.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoskbuff: Copy csum instead of csum_start/csum_offset
Herbert Xu [Fri, 22 May 2009 22:20:02 +0000 (22:20 +0000)] 
skbuff: Copy csum instead of csum_start/csum_offset

Hi:

skbuff: Copy csum instead of csum_start/csum_offset

It's easier to copy the u32 csum instead of its two u16
constituents.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Cheers,
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoskbuff: Move new code into __copy_skb_header
Herbert Xu [Fri, 22 May 2009 22:11:37 +0000 (22:11 +0000)] 
skbuff: Move new code into __copy_skb_header

Hi:

skbuff: Move new __skb_clone code into __copy_skb_header

It seems that people just keep on adding stuff to __skb_clone
instead __copy_skb_header.  This is wrong as it means your brand-new
attributes won't always get copied as you intended.

This patch moves them to the right place, and adds a comment to
prevent this from happening again.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Thanks,
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
David S. Miller [Mon, 25 May 2009 07:38:24 +0000 (00:38 -0700)] 
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next-2.6

15 years agomyri10ge: Add support for vlan_features
Brice Goglin [Sun, 24 May 2009 05:27:59 +0000 (05:27 +0000)] 
myri10ge: Add support for vlan_features

Add support for netdev->vlan_features in the myri10ge driver.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomyri10ge: drop myri10ge_lro module parameter
Brice Goglin [Sun, 24 May 2009 05:27:51 +0000 (05:27 +0000)] 
myri10ge: drop myri10ge_lro module parameter

Drop the myri10ge_lro module parameter now that we have ethtool
to enable/disable LRO in the myri10ge driver.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomyri10ge: fix the invokation of lro_flush_all
Brice Goglin [Sun, 24 May 2009 05:27:41 +0000 (05:27 +0000)] 
myri10ge: fix the invokation of lro_flush_all

Fix the way we check whether lro_flush_all should be called
in the myri10ge driver.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomlx4_en: Fix partial rings feature
Yevgeny Petrilin [Sun, 24 May 2009 03:17:11 +0000 (03:17 +0000)] 
mlx4_en: Fix partial rings feature

In case of allocation failure, the actual ring size is rounded down to
nearest power of 2. The remaining descriptors are freed.
The CQ and SRQ are allocated with the actual size and the mask is updated.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomlx4_en: Removed redundant stride variable
Yevgeny Petrilin [Sun, 24 May 2009 03:16:51 +0000 (03:16 +0000)] 
mlx4_en: Removed redundant stride variable

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoiwlwifi: check for valid band for channel info
Wey-Yi Guy [Fri, 22 May 2009 18:01:55 +0000 (11:01 -0700)] 
iwlwifi: check for valid band for channel info

when display channel info in debugfs, always check for valid band
before access the pointer and display information

for 1000 NIC, it only support "bgn" mode, so there is no 5.2GHz channels
available to display.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlagn: co-exist with AMT
Mohamed Abbas [Fri, 22 May 2009 18:01:54 +0000 (11:01 -0700)] 
iwlagn: co-exist with AMT

Enable using iwlwifi driver in AMT system.

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>
15 years agoiwlcore: Set rb_timeout to 0x10 for devices with ICT
Mohamed Abbas [Fri, 22 May 2009 18:01:53 +0000 (11:01 -0700)] 
iwlcore: Set rb_timeout to 0x10 for devices with ICT

rb value should be 0x10 for devices using ICT.
 RX interrupt was not performing well with
 0 value

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>
15 years agoiwlcore: Add support for periodic RX interrupt
Mohamed Abbas [Fri, 22 May 2009 18:01:52 +0000 (11:01 -0700)] 
iwlcore: Add support for periodic RX interrupt

Periodic RX interrupt needed with ICT interrupt to prevent RX race.
Sending RX interrupt require many steps to be done in the
the device:
 1- write interrupt to current index in ICT table.
 2- dma RX frame.
 3- update RX shared data to indicate last write index.
 4- send interrupt.
This could lead to RX race, driver could receive RX interrupt
but the shared data changes does not reflect that.
this could lead to RX race, RX periodic will solve this race

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>
15 years agoiwlcore: Allow skb allocation from tasklet.
Mohamed Abbas [Fri, 22 May 2009 18:01:51 +0000 (11:01 -0700)] 
iwlcore: Allow skb allocation from tasklet.

If RX queue becomes empty then we need to restock the queue from tasklet to prevent
ucode from starving. A caller to iwl_rx_allocate will decide if allocated buffer should
come from GFP_ATOMIC or GFP_KERNEL.

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>
15 years agoiwlcore: support ICT interrupt
Mohamed Abbas [Fri, 22 May 2009 18:01:50 +0000 (11:01 -0700)] 
iwlcore: support ICT interrupt

Add ICT interrupt handler support, ICT should improve CPU utilization
 since it does not require target read which is very expensive. This
 interrupt handler only added to 5000 cards and newer. Device will write
 interrupts to ICT shared table to inform driver about its interrupts.

These patches will not touch 3945 and 4965 interrupt handlers and tasklet.

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>
15 years agoiwlwifi: support "pure 40MHz" in RXON command
Wey-Yi Guy [Fri, 22 May 2009 18:01:49 +0000 (11:01 -0700)] 
iwlwifi: support "pure 40MHz" in RXON command

Fix the bug when using 11n "pure 40MHz" mode cause uCode
crashing by adding support for "pure 40MHz" in RX_ON command flag.
the "mode" field (bits 25:26) has value of 0-3
    0 = 20 MHz only
    1 = 40MHz only
    2 = Mixed
    3 = Reserved
Control Channel ID (bit 22) is valid only in Mixed mode.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: report the rate index as an MCS rate number
Wey-Yi Guy [Fri, 22 May 2009 18:01:48 +0000 (11:01 -0700)] 
iwlwifi: report the rate index as an MCS rate number

If transmit in HT rate, report the rate index as an MCS rate number
instead of an index. so "iw" can display correct BitRate

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlcore: register locks
Mohamed Abbas [Fri, 22 May 2009 18:01:47 +0000 (11:01 -0700)] 
iwlcore: register locks

Add new lock to be used when accessing some registers. Also move
    the register lock and iwl_grab_nic_access inside the function for register access. This
    will prevent from forgetting to hold locks and nic access in the right way and make code
    easier to maintain.

    We over use the priv->lock spin lock and I guess we need to add new
    one for Tx queue after that we might need to change most of these lock to
    BH and just keep priv->lock as irq type.

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>
15 years agoiwlwifi: support NVM access (EEPROM/OTP)
Wey-Yi Guy [Fri, 22 May 2009 18:01:46 +0000 (11:01 -0700)] 
iwlwifi: support NVM access (EEPROM/OTP)

Two type of NVM available for devices 1000, 6000 and after, adding
support to read OTP lower blocks if OTP is used instead of EEPROM.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Remove usage of IEEE80211_CONF_CHANGE_BEACON_INTERVAL
Ivo van Doorn [Thu, 21 May 2009 17:16:46 +0000 (19:16 +0200)] 
rt2x00: Remove usage of IEEE80211_CONF_CHANGE_BEACON_INTERVAL

IEEE80211_CONF_CHANGE_BEACON_INTERVAL was deprecated a month ago,
it is about time to remove all usage from the rt2x00 drivers and
use the correct beacon interval configuration through the bss_info
structure.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Add new rt2800usb USB ID's for Sweex
Ivo van Doorn [Thu, 21 May 2009 17:16:14 +0000 (19:16 +0200)] 
rt2x00: Add new rt2800usb USB ID's for Sweex

The USB ID with unknown manufacturer is apparently sweex,
copy it to the correct location of the list and add 2
additional USB ID's also belonging to Sweex.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agorndis_wlan: do not try to restore wpa keys using add_wep_key()
Jussi Kivilinna [Fri, 22 May 2009 14:40:34 +0000 (17:40 +0300)] 
rndis_wlan: do not try to restore wpa keys using add_wep_key()

set_infra_mode() tried to restore wpa keys using add_wep_key(). This never
worked so prevent driver from trying.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agorndis_wlan: split add_wpa_key from rndis_iw_set_encode_ext
Jussi Kivilinna [Fri, 22 May 2009 14:40:27 +0000 (17:40 +0300)] 
rndis_wlan: split add_wpa_key from rndis_iw_set_encode_ext

Split add_wpa_key() from rndis_iw_set_encode_ext so that conversion to cfg80211
would be easier later on.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agorndis_wlan: explain bits used in key setup code.
Jussi Kivilinna [Fri, 22 May 2009 14:40:20 +0000 (17:40 +0300)] 
rndis_wlan: explain bits used in key setup code.

Driver uses some unnamed bits to control encryption setup. Move these to
enumerations with proper names explaining their meaning.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agorndis_wlan: remove CAP_SUPPORT_TXPOWER/OID_802_11_TX_POWER_LEVEL code
Jussi Kivilinna [Fri, 22 May 2009 14:40:12 +0000 (17:40 +0300)] 
rndis_wlan: remove CAP_SUPPORT_TXPOWER/OID_802_11_TX_POWER_LEVEL code

BCM4320 doesn't support OID_802_11_TX_POWER_LEVEL (chip implements
the command but setting value has no effect and getting txpower value
always returns 0xff, full power). So remove the code for cleanup.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agorndis_wlan: fix support for bcm4320a
Jussi Kivilinna [Fri, 22 May 2009 08:58:36 +0000 (11:58 +0300)] 
rndis_wlan: fix support for bcm4320a

Old variant of bcm4320 doesn't handle setting configuration parameters
correctly. One symptom is that MAC gets partially overwritten when any
config parameters are set. This patch disables config-params for bcm4320a
(and generic rndis-wlan).

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: Temperature sensor voltage reading for 5150
Wey-Yi Guy [Thu, 21 May 2009 20:44:23 +0000 (13:44 -0700)] 
iwlwifi: Temperature sensor voltage reading for 5150

The temperature measurement by uCode for 5150 and 5000 are different
        CSR_HW_REV_TYPE_5150: temperature sensor output voltage
        CSR_HW_REV_TYPE_5000: temperature in Celsius
temperature related operation for 5150 is measured by temperature sensor
output voltage; additional conversion is required for set and store
the temperature.

To make sure support different HW design; implement _ops method for
temperature related functions (temperature reading and set ct kill
threshold)

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwlwifi: add Greenfield support for 11n
Wey-Yi Guy [Thu, 21 May 2009 20:44:22 +0000 (13:44 -0700)] 
iwlwifi: add Greenfield support for 11n

Add "Greenfield" support for all devices except 4965 and
3945. "Greenfield" is part of 11n features to improve HT performance.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwl3945: improve 3945 leds
Abhijeet Kolekar [Thu, 21 May 2009 20:44:21 +0000 (13:44 -0700)] 
iwl3945: improve 3945 leds

'tpt' is a delta throughput (number of packets) and is corelated
to brightness of the LED. We already maintain a delta of packets in
rxtxpackets. There is no need to calculate this delta again which
was affecting the behaviour of LEDS.

Also add two new callback functions for ASSOCIATED/DISASSOCIATED states
where LED's will be *on* for associated state and *off* for disassociated state.

This fixes
http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1771.

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>
15 years agolibertas: read SD8688 firmware status from new register
Bing Zhao [Thu, 21 May 2009 18:32:34 +0000 (11:32 -0700)] 
libertas: read SD8688 firmware status from new register

The scratch pad register is used to store firmware status after
firmware is downloaded and initialized. After firmware status is
verified OK, the same register is used to store RX packet length.
Hence the firmware status code is no longer valid afterwards.

SD8688 firmware introduces a new register for firmware status
which will never be overwritten.

Also add scratch_reg variable to if_sdio_card structure and
initialize it based on the model of the card during probe.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoiwmc3200wifi: Add new Intel Wireless Multicomm 802.11 driver
Zhu Yi [Thu, 21 May 2009 13:20:45 +0000 (21:20 +0800)] 
iwmc3200wifi: Add new Intel Wireless Multicomm 802.11 driver

This driver supports Intel's full MAC wireless multicomm 802.11 hardware.
Although the hardware is a 802.11agn device, we currently only support
802.11ag, in managed and ad-hoc mode (no AP mode for now).

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowireless: move some utility functions from mac80211 to cfg80211
Zhu Yi [Thu, 21 May 2009 13:47:03 +0000 (21:47 +0800)] 
wireless: move some utility functions from mac80211 to cfg80211

The patch moves some utility functions from mac80211 to cfg80211.
Because these functions are doing generic 802.11 operations so they
are not mac80211 specific. The moving allows some fullmac drivers
to be also benefit from these utility functions.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: correct probe wait time
Johannes Berg [Thu, 21 May 2009 10:02:05 +0000 (12:02 +0200)] 
mac80211: correct probe wait time

My first patch submission used 200ms, which I then somehow
managed to revert back to the earlier 50ms I had used for
some tests in the second patch submission -- but that was
wrong, I should have used 200ms here. Correct that.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Update Beacon timers based on timestamp from the AP
Jouni Malinen [Wed, 20 May 2009 18:59:08 +0000 (21:59 +0300)] 
ath9k: Update Beacon timers based on timestamp from the AP

Some APs seem to drift away from the expected TBTT (timestamp %
beacon_int_in_usec differs quite a bit from zero) which can result in
us waking up way too early to receive a Beacon frame. In order to work
around this, re-configure the Beacon timers after having received a
Beacon frame from the AP (i.e., when we know the offset between the
expected TBTT and the actual time the AP is sending out the Beacon
frame).

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Optimize TBTT/DTIM calculation for timers
Jouni Malinen [Wed, 20 May 2009 18:56:39 +0000 (21:56 +0300)] 
ath9k: Optimize TBTT/DTIM calculation for timers

The previous version used a simple loop to go through all Beacon
frames when determining the next TBTT and DTIM count. This is not too
bad for the case where the setup happens before timesync (i.e., very
small TSF), but this can become very heavy operation if a short Beacon
interval is used and the current TSF is large.

In preparation for a patch to update timer setup based on Beacon
timestamp, optimize this routine to take fixed time regardless of the
actual TSF value.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agolibertas: implement function init/shutdown commands for SD8688
Bing Zhao [Wed, 20 May 2009 02:48:20 +0000 (19:48 -0700)] 
libertas: implement function init/shutdown commands for SD8688

SD8688 is a WLAN/Bluetooth combo chip and both functions are supported
in a single firmware image. FUNC_INIT and FUNC_SHUTDOWN commands are
implemented to utilize the multiple function feature.

When SD8688 card is inserted, the firmware image should be downloaded
only once through either WLAN function (Libertas driver) or Bluetooth
function (Bluetooth driver).

This patch adds function init/shutdown for SD8688 WLAN function only.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agolibertas: get SD8688 rx length with one CMD52
Bing Zhao [Wed, 20 May 2009 02:48:19 +0000 (19:48 -0700)] 
libertas: get SD8688 rx length with one CMD52

Usually, the 16-bit rx length is read from scratch pad registers
with two CMD52 transactions:
SD8385:  IF_SDIO_SCRATCH_OLD (0x80fe/0x80ff)
SD8686/SD8688: IF_SDIO_SCRATCH     (0x34/0x35)

Alternatively, SD8688 firmware offers an enhanced method for driver
to read an 8-bit rx length (in units) with a single CMD52:
IF_SDIO_RX_UNIT 0x43 is read one time after firmware is ready.
IF_SDIO_RX_LEN  0x42 is read every time when rx interrupt is received.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agolibertas: define macros for SDIO model numbers
Bing Zhao [Wed, 20 May 2009 02:48:18 +0000 (19:48 -0700)] 
libertas: define macros for SDIO model numbers

replace direct usages of SDIO model numbers with defined macros.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agolibertas: fix GSPI card event handling
andrey@cozybit.com [Wed, 20 May 2009 00:20:13 +0000 (17:20 -0700)] 
libertas: fix GSPI card event handling

The GPSI interface driver does not re-enable the Card Event Interrupt, which
causes problems after a card event (for example: link-loss) comes in.  This
can lead, for example, to the card failing to re-associate.  This patch
ensures that we re-enable the Card Event Interrupt when we handle card events.

Signed-off-by: Andrey Yurovsky <andrey@cozybit.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: fix probe response wait timing
Johannes Berg [Tue, 19 May 2009 19:26:07 +0000 (21:26 +0200)] 
mac80211: fix probe response wait timing

In "mac80211: split out and decrease probe wait time" I tried
to reduce the time waiting for a probe response, but failed to
take into account the case where we are detecting beacon loss
in software -- in that case we still wait the monitoring time
rather than the probe wait time. Fix this by refactoring the
mod_timer() calls in ieee80211_associated().

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowext: remove atomic requirement for wireless stats
Johannes Berg [Tue, 19 May 2009 15:19:36 +0000 (17:19 +0200)] 
wext: remove atomic requirement for wireless stats

The requirement for wireless stats to be atomic is now mostly
artificial since we hold the rtnl _and_ the dev_base_lock for
iterating the device list. Doing that is not required, just the
rtnl is sufficient (and the rtnl is required for other reasons
outlined in commit "wext: fix get_wireless_stats locking").

This will fix http://bugzilla.kernel.org/show_bug.cgi?id=13344
and make things easier for drivers.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agotcp: Unexport TCPv6 GRO functions
Herbert Xu [Fri, 22 May 2009 07:45:28 +0000 (00:45 -0700)] 
tcp: Unexport TCPv6 GRO functions

Sinec the TCPv6 GRO functions are used in the same file where
they are defined, we do not need to export them.  This was a
cut-n-paste from the IPv4 code which does need to export them.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: Fix arg to trace_napi_poll() in netpoll.
David S. Miller [Fri, 22 May 2009 06:30:09 +0000 (23:30 -0700)] 
net: Fix arg to trace_napi_poll() in netpoll.

Reproted by Stephen Rothwell.

Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoixgbe: only register DCA requester once
Alexander Duyck [Thu, 21 May 2009 13:07:12 +0000 (13:07 +0000)] 
ixgbe: only register DCA requester once

The current driver tries to re-register the DCA requester after reset and
this is not correct.  This change makes it so all we are doing is resetting
the DCA registers after reset and not re-adding the requester.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoigb: do not re-register DCA requester on device reset
Alexander Duyck [Thu, 21 May 2009 13:06:56 +0000 (13:06 +0000)] 
igb: do not re-register DCA requester on device reset

The current driver is re-registering the DCA requester after every reset.
Instead of doing this we should only be updating the on board DCA registers
and not unregistering/re-registering our requester.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agowireless: Use genl_register_family_with_ops()
MichaÅ‚ MirosÅ‚aw [Thu, 21 May 2009 10:34:06 +0000 (10:34 +0000)] 
wireless: Use genl_register_family_with_ops()

Use genl_register_family_with_ops() instead of a copy.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonetlabel: Use genl_register_family_with_ops()
MichaÅ‚ MirosÅ‚aw [Thu, 21 May 2009 10:34:05 +0000 (10:34 +0000)] 
netlabel: Use genl_register_family_with_ops()

Use genl_register_family_with_ops() instead of a copy. This fixes genetlink
family leak on error path.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoipvs: Use genl_register_family_with_ops()
MichaÅ‚ MirosÅ‚aw [Thu, 21 May 2009 10:34:05 +0000 (10:34 +0000)] 
ipvs: Use genl_register_family_with_ops()

Use genl_register_family_with_ops() instead of a copy.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agotipc: Use genl_register_family_with_ops()
MichaÅ‚ MirosÅ‚aw [Thu, 21 May 2009 10:34:05 +0000 (10:34 +0000)] 
tipc: Use genl_register_family_with_ops()

Use genl_register_family_with_ops() instead of a copy. This also changes
netlink related variable names to be kernel-wide unique for consistency
with other users.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoirda: Use genl_register_family_with_ops()
MichaÅ‚ MirosÅ‚aw [Thu, 21 May 2009 10:34:04 +0000 (10:34 +0000)] 
irda: Use genl_register_family_with_ops()

Use genl_register_family_with_ops() instead of a copy.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Cc: Samuel Ortiz <samuel@sortiz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agogenetlink: Introduce genl_register_family_with_ops()
MichaÅ‚ MirosÅ‚aw [Thu, 21 May 2009 10:34:04 +0000 (10:34 +0000)] 
genetlink: Introduce genl_register_family_with_ops()

This introduces genl_register_family_with_ops() that registers a genetlink
family along with operations from a table. This is used to kill copy'n'paste
occurrences in following patches.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agodropmon: add ability to detect when hardware dropsrxpackets
Neil Horman [Thu, 21 May 2009 07:36:08 +0000 (07:36 +0000)] 
dropmon: add ability to detect when hardware dropsrxpackets

Patch to add the ability to detect drops in hardware interfaces via dropwatch.
Adds a tracepoint to net_rx_action to signal everytime a napi instance is
polled.  The dropmon code then periodically checks to see if the rx_frames
counter has changed, and if so, adds a drop notification to the netlink
protocol, using the reserved all-0's vector to indicate the drop location was in
hardware, rather than somewhere in the code.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
 include/linux/net_dropmon.h |    8 ++
 include/trace/napi.h        |   11 +++
 net/core/dev.c              |    5 +
 net/core/drop_monitor.c     |  124 ++++++++++++++++++++++++++++++++++++++++++--
 net/core/net-traces.c       |    4 +
 net/core/netpoll.c          |    2
 6 files changed, 149 insertions(+), 5 deletions(-)
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoaf_packet: Teach to listen for multiple unicast addresses.
Eric W. Biederman [Tue, 19 May 2009 18:27:17 +0000 (18:27 +0000)] 
af_packet: Teach to listen for multiple unicast addresses.

The the PACKET_ADD_MEMBERSHIP and the PACKET_DROP_MEMBERSHIP setsockopt
calls for af_packet already has all of the infrastructure needed to subscribe
to multiple mac addresses.  All that is missing is a flag to say that
the address we want to listen on is a unicast address.

So introduce PACKET_MR_UNICAST and wire it up to dev_unicast_add and
dev_unicast_delete.

Additionally I noticed that errors from dev_mc_add were not propagated
from packet_dev_mc so fix that.

Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonetns: simplify net_ns_init
Stephen Hemminger [Thu, 21 May 2009 22:10:31 +0000 (15:10 -0700)] 
netns: simplify net_ns_init

The net_ns_init code can be simplified. No need to save error code
if it is only going to panic if it is set 4 lines later.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonetns: remove leftover debugging message
Stephen Hemminger [Thu, 21 May 2009 22:10:05 +0000 (15:10 -0700)] 
netns: remove leftover debugging message

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agocxgb: set phy's mdio dev before the phy init sequence
Divy Le Ray [Wed, 20 May 2009 15:56:12 +0000 (15:56 +0000)] 
cxgb: set phy's mdio dev before the phy init sequence

mdio's dev field needs to be set before mdio ops occur.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agocxgb3: set phy's mdio dev before the phy init sequence
Divy Le Ray [Wed, 20 May 2009 15:56:02 +0000 (15:56 +0000)] 
cxgb3: set phy's mdio dev before the phy init sequence

mdio's dev field needs to be set before mdio ops occur.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agocxgb3: Use generic XENPAK LASI register definitions
Ben Hutchings [Tue, 19 May 2009 13:22:30 +0000 (13:22 +0000)] 
cxgb3: Use generic XENPAK LASI register definitions

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Acked-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agochelsio: Use generic XENPAK LASI register definitions
Ben Hutchings [Tue, 19 May 2009 13:21:07 +0000 (13:21 +0000)] 
chelsio: Use generic XENPAK LASI register definitions

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Acked-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoqeth: Clear SBALF15 in any case for output buffers.
Klaus-Dieter Wacket [Tue, 19 May 2009 21:38:41 +0000 (21:38 +0000)] 
qeth: Clear SBALF15 in any case for output buffers.

Function qeth_clear_output_buffer for HiperSockets may not clear
all 16 SBALEs, but only the used ones. The error flag in SBALF15
has to be cleared in any case.

Signed-off-by: Klaus-Dieter Wacker <kdwacker@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoqeth: omit upstream checksumming for HiperSockets
Ursula Braun [Tue, 19 May 2009 21:38:40 +0000 (21:38 +0000)] 
qeth: omit upstream checksumming for HiperSockets

For HiperSocket devices receive-path checksumming is not required.
Thus NO_CHECKSUMMING is used as default for HiperSocket interfaces.
For layer3 devices configured with NO_CHECKSUMMING received skbs
should have set their ip_summed field to CHECKSUM_UNNECESSARY.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoqeth: support z/VM VSWITCH Port Isolation
Ursula Braun [Tue, 19 May 2009 21:38:39 +0000 (21:38 +0000)] 
qeth: support z/VM VSWITCH Port Isolation

z/VM Virtual Switch Port Isolation allows guests on a VLAN UNAWARE
virtual switch to be isolated from other guests on the VSWITCH.
(See z/VM Apars VM64281 and VM64463).
The Linux qeth driver is affected, because it has to handle new
error codes introduced with the z/VM VSWITCH Port Isolation support.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoctcm: avoid crash in ctcm_remove_device
Ursula Braun [Tue, 19 May 2009 21:38:38 +0000 (21:38 +0000)] 
ctcm: avoid crash in ctcm_remove_device

Channels are already removed when setting a ctcm-device offline.
Thus ctcm_remove_device must not refer to channel information.
Solution: delete channel information from the trace call in
ctcm_remove_device.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agoqeth: avoid crash after detach of replugged device
Ursula Braun [Tue, 19 May 2009 21:38:37 +0000 (21:38 +0000)] 
qeth: avoid crash after detach of replugged device

If a qeth device is plugged off, setting the device online stops in
state HARDSETUP and a failure is reported to the base cio-layer
causing halt/clear to be invoked. Replugging the device again triggers
a qeth recovery without notification of the cio-layer. If a device
is ungrouped in this state, the qeth set_offline function is not
invoked, because the corresponding ccwgroup device is not in state
ONLINE. Then incoming traffic is still handled by the qdio layer
resulting in a crash in qeth_l<x>_qdio_input_handler, because (part
of) the qeth data structures for this device are already removed.
Solution: After replugging the device qeth recovery should lead to a
working net device. Thus a "LAN offline" result when setting a qeth
device online must not report a failure to the base cio-layer.

Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agonet: Remove unused parameter from fill method in fib_rules_ops.
Rami Rosen [Thu, 21 May 2009 00:26:23 +0000 (17:26 -0700)] 
net: Remove unused parameter from fill method in fib_rules_ops.

The netlink message header (struct nlmsghdr) is an unused parameter in
fill method of fib_rules_ops struct.  This patch removes this
parameter from this method and fixes the places where this method is
called.

(include/net/fib_rules.h)

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agosyscall: Sort out syscall_restart name clash.
Eric W. Biederman [Wed, 20 May 2009 22:52:40 +0000 (15:52 -0700)] 
syscall: Sort out syscall_restart name clash.

Stephen Rothwell <sfr@canb.auug.org.au> writes:

> Today's linux-next build of at least some av32 and arm configs failed like this:
>
> arch/avr32/kernel/signal.c:216: error: conflicting types for 'restart_syscall'
> include/linux/sched.h:2184: error: previous definition of 'restart_syscall' was here
>
> Caused by commit 690cc3ffe33ac4a2857583c22d4c6244ae11684d ("syscall:
> Implement a convinience function restart_syscall") from the net tree.

Grrr. Some days it feels like all of the good names are already taken.

Let's just rename the two static users in arm and avr32 to get this
sorted out.

Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
15 years agomac80211: fix managed mode BSSID handling
Johannes Berg [Thu, 14 May 2009 11:10:14 +0000 (13:10 +0200)] 
mac80211: fix managed mode BSSID handling

Currently, we will ask the driver to configure right away
when somebody changes the desired BSSID. That's totally
strange because then we will configure the driver without
even knowing whether the BSS exists. Change this to only
configure the BSSID when associated, and configure a zero
BSSID when not associated.

As a side effect, this fixes an issue with the iwlwifi
driver which doesn't implement sta_notify properly and
uses the BSSID instead and gets very confused if the
BSSID is cleared before we disassociate, which results
in the warning Marcel posted [1] and iwlwifi bug 1995 [2].

[1] http://thread.gmane.org/gmane.linux.kernel.wireless.general/32598
[2] http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1995

Cc: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: warn when wiphy_apply_custom_regulatory() does nothing
Luis R. Rodriguez [Tue, 19 May 2009 21:49:47 +0000 (17:49 -0400)] 
cfg80211: warn when wiphy_apply_custom_regulatory() does nothing

Device drivers using wiphy_apply_custom_regulatory() want some
regulatory settings applied to their wiphy, if no bands were
configured on the wiphy then something went wrong.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: set max default eirp to 20 dBm
Luis R. Rodriguez [Tue, 19 May 2009 21:49:46 +0000 (17:49 -0400)] 
ath9k: set max default eirp to 20 dBm

This is always discarded anyway but lets just set this to our
safest lowest.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: fix parameter confusion when finding IBSS
Johannes Berg [Wed, 20 May 2009 07:05:10 +0000 (09:05 +0200)] 
mac80211: fix parameter confusion when finding IBSS

When I fixed the crypto bit I must have done the negative
test only -- it is quite clearly impossible to find _any_
IBSS to join with the parameters put the wrong way around.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: fix custom regulatory call position
Luis R. Rodriguez [Tue, 19 May 2009 22:27:11 +0000 (18:27 -0400)] 
ath9k: fix custom regulatory call position

ath_regd_init() needs to be called with the wiphy already
properly set with the bands. Without this the custom regulatory
settings were not taking effect, and the device would get
the default channel settings from ath9k_[25]ghz_chantable.

Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: don't try to do anything on unchanged genIE
Johannes Berg [Tue, 19 May 2009 20:16:25 +0000 (22:16 +0200)] 
mac80211: don't try to do anything on unchanged genIE

When the genIE hasn't changed there's no reason to kick
the state machine since it won't be able to do anything
new -- doing this decreases the useless work we do for
reassociating because if we do kick the state machine
it will try to find a usable BSS but there might not be
one because wpa_supplicant will only change the BSSID
a little later.

In a sense this is a workaround for userspace behaviour,
but on the other hand userspace cannot really keep track
of what the kernel currently has for genIE since any
process could have changed that while wpa_supplicant
wasn't looking.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort73usb: fix for master mode
Alexandre Becholey [Tue, 19 May 2009 15:52:56 +0000 (17:52 +0200)] 
rt73usb: fix for master mode

Report status unknown as if there were successfully transmitted.
This will avoid hostapd to disassociate because it doesn't understand what a status unknown is.

Signed-off-by: Alexandre Becholey <alexandre.becholey@epfl.ch>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: Do not override AID in the duration field
Jouni Malinen [Tue, 19 May 2009 16:25:58 +0000 (19:25 +0300)] 
mac80211: Do not override AID in the duration field

When updating the duration field for TX frames, skip the update for
PS-Poll frames that use this field for other purposes (AID).

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: PS processing for every Beacon with our AID in TIM
Jouni Malinen [Tue, 19 May 2009 14:01:43 +0000 (17:01 +0300)] 
mac80211: PS processing for every Beacon with our AID in TIM

If the AP includes our AID in the TIM IE, we need to process the
Beacon frame as far as PS is concerned (send PS-Poll or nullfunc data
with PM=0). The previous code skipped this in cases where the CRC
value did not change and it would not change if the AP continues
including our AID in the TIM..

There is no need to count the crc32 value for directed_tim with this
change, so we can remove that part. In order not to change the order
of operations (i.e., update WMM parameters prior to sending PS-Poll),
the CRC match is checked twice as only after the PS processing step,
the rest of the function is skipped if nothing changed in the Beacon.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Set PM field in frame control when in PS mode
Jouni Malinen [Tue, 19 May 2009 14:01:42 +0000 (17:01 +0300)] 
ath9k: Set PM field in frame control when in PS mode

mac80211 does not set PM field for normal data frames, so we need to
update that based on the current PS mode when using PS-Poll
(timeout=0) power save mode.

This allows the AP to remain in sync with our PS state. However, there
is still a potential race condition between PS state changes when
multiple TX queues are used and nullfunc and PS-Poll frames use
different queue. That corner case may need to be handled separately by
changing which queue is used either in ath9k or mac80211.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Wake up for RX filter changes
Jouni Malinen [Tue, 19 May 2009 14:01:41 +0000 (17:01 +0300)] 
ath9k: Wake up for RX filter changes

We must make sure the chip is awake when changing the RX filter
parameters. This could have caused problems, e.g., when changing the
interface to promiscuous mode while in sleep mode.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Use TSFOOR interrupt to trigger TSF sync with next Beacon
Jouni Malinen [Tue, 19 May 2009 14:01:40 +0000 (17:01 +0300)] 
ath9k: Use TSFOOR interrupt to trigger TSF sync with next Beacon

If the chip complains about TSF sync, make sure we remain awake to
sync with the next Beacon frame. In theory, this should not be needed
since we are currently trying to receive all Beacon frames, anyway,
better have this code ready should we ever change that.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Do not try to calibrate radio when in sleep mode
Jouni Malinen [Tue, 19 May 2009 14:01:39 +0000 (17:01 +0300)] 
ath9k: Do not try to calibrate radio when in sleep mode

When the chip is in sleep mode, there is no point trying to calibrate
the radio since it will just results in incorrect values being read
from registers and other potential issues. In addition, if we actually
start processing calibrate, do not allow the chip to be put into sleep
until we have completed the calibration step.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Wake up for TX in mac80211 timeout=0 sleep mode
Jouni Malinen [Tue, 19 May 2009 14:01:38 +0000 (17:01 +0300)] 
ath9k: Wake up for TX in mac80211 timeout=0 sleep mode

When using timeout=0 (PS-Poll) with mac80211, the driver will need to
wake up for TX requests and remain awake until the TX has been
completed (ACK received or timeout) or until the buffer frame(s) have
been received (in case the TX is for a PS-Poll frame).

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211: fix kernel-doc
Johannes Berg [Tue, 19 May 2009 08:39:34 +0000 (10:39 +0200)] 
mac80211: fix kernel-doc

Moving information from config_interface to bss_info_changed
removed struct ieee80211_if_conf which the documentation still
refers to, additionally there's one kernel-doc description too
much and one other missing, fix all this.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agort2x00: Add USB ID for rt2800usb
Ivo van Doorn [Tue, 19 May 2009 05:26:04 +0000 (07:26 +0200)] 
rt2x00: Add USB ID for rt2800usb

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: fix compile error with CONFIG_CFG80211_DEBUGFS
Pavel Roskin [Tue, 19 May 2009 01:43:52 +0000 (21:43 -0400)] 
cfg80211: fix compile error with CONFIG_CFG80211_DEBUGFS

If CONFIG_CFG80211_DEBUGFS is enabled and CONFIG_MAC80211_DEBUGFS is
not, compilation fails in net/wireless/debugfs.c:

net/wireless/debugfs.c: In function 'cfg80211_debugfs_drv_add':
net/wireless/debugfs.c:117: error: 'struct cfg80211_registered_device'
has no member named 'debugfs'

The debugfs filed is needed if and only if CONFIG_CFG80211_DEBUGFS is
enabled, so use that instead of CONFIG_MAC80211_DEBUGFS.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: avoid and warn on potential infinite loop
Bob Copeland [Wed, 20 May 2009 03:37:31 +0000 (23:37 -0400)] 
ath5k: avoid and warn on potential infinite loop

If we are trying to interpolate a curve with slope == 0, the return
value will always be the y-coordinate.  In this code we are looping
until we reach a minimum y-coordinate on a line, which in the 0-slope
case can never happen, thus the loop never terminates.

The PCDAC steps come from the EEPROM and should never be equal, but
we should gracefully handle that case, so warn and bail out.

Reported-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: fix in nl80211_set_reg()
Luis R. Rodriguez [Wed, 13 May 2009 21:04:41 +0000 (17:04 -0400)] 
cfg80211: fix in nl80211_set_reg()

There is a race on access to last_request and its alpha2
through reg_is_valid_request() and us possibly processing
first another regulatory request on another CPU. We avoid
this improbably race by locking with the cfg80211_mutex as
we should have done in the first place. While at it add
the assert on locking on reg_is_valid_request().

Cc: stable@kernel.org
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: cleanup return calls on nl80211_set_reg()
Luis R. Rodriguez [Wed, 13 May 2009 21:04:40 +0000 (17:04 -0400)] 
cfg80211: cleanup return calls on nl80211_set_reg()

This has no functional change, but it will make the race
fix easier to spot in my next patch.

Cc: stable@kernel.org
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: return immediately if num reg rules > NL80211_MAX_SUPP_REG_RULES
Luis R. Rodriguez [Wed, 13 May 2009 21:04:39 +0000 (17:04 -0400)] 
cfg80211: return immediately if num reg rules > NL80211_MAX_SUPP_REG_RULES

This has no functional change except we save a kfree(rd) and
allows us to clean this code up a bit after this. We do
avoid an unnecessary kfree(NULL) but calling that was OK too.

Cc: stable@kernel.org
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agowireless: fix to set dev->broadcast correctly
Wei Yongjun [Wed, 13 May 2009 01:47:38 +0000 (09:47 +0800)] 
wireless: fix to set dev->broadcast correctly

This patch fix to set dev->broadcast correctly, since
dev->broadcast is defined as:
  unsigned char broadcast[MAX_ADDR_LEN];

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoStaging: agnx: switch config_interface to bss_info_changed
Alexander Beregalov [Tue, 12 May 2009 11:23:13 +0000 (15:23 +0400)] 
Staging: agnx: switch config_interface to bss_info_changed

Fix this build error:
drivers/staging/agnx/pci.c: In function 'agnx_config_interface':
drivers/staging/agnx/pci.c:315: error: dereferencing pointer to incomplete type
..
drivers/staging/agnx/pci.c:424: error: unknown field 'config_interface' specified in initializer

config_interface was removed in 2d0ddec5b2b
("mac80211: unify config_interface and bss_info_changed")

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath9k: Move PS wakeup/restore calls from isr to tasklet
Vasanthakumar Thiagarajan [Fri, 15 May 2009 06:47:16 +0000 (02:47 -0400)] 
ath9k: Move PS wakeup/restore calls from isr to tasklet

We do not need to do this in ath_isr() and it looks like the modified
version ends up being more stable as far as being able receive beacon
frames is concerned. Furthermore, this reduces need to move between
AWAKE and NETWORK SLEEP states when processing some unrelated
interrupts.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agocfg80211: allow wext to remove keys that don't exist
Johannes Berg [Mon, 18 May 2009 17:56:36 +0000 (19:56 +0200)] 
cfg80211: allow wext to remove keys that don't exist

Some applications using wireless extensions expect to be able to
remove a key that doesn't exist. One example is wpa_supplicant
which doesn't actually change behaviour when running into an
error while trying to do that, but it prints an error message
which users interpret as wpa_supplicant having problems.

The safe thing to do is not change the behaviour of wireless
extensions any more, so when the driver reports -ENOENT let
the wext bridge code return success to userspace. To guarantee
this, also document that drivers should return -ENOENT when the
key doesn't exist.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agomac80211_hwsim: Group radios
Daniel Wagner [Mon, 18 May 2009 17:49:25 +0000 (19:49 +0200)] 
mac80211_hwsim: Group radios

Currently all radios receive all traffic on the simulated air
if they are tuned to the same channel. This patch introduces
the concept of grouping, which allows to assign a radio to
certain group. Only radios in the same group can 'see' each other.

Each bit in /debug/ieee80211/phy*/hwsim/group
represents one group. By default all radios belong to the same group "1",
e.g. bit 1 is set. Additionally a radio can belong to several groups.

Signed-off-by: Daniel Wagner <wagi@monom.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agoath5k: update beacons in AP mode
Bob Copeland [Mon, 18 May 2009 14:59:52 +0000 (10:59 -0400)] 
ath5k: update beacons in AP mode

ath5k only generated the beacon when bss_info_changed() was called,
but for AP mode this is not enough, because the TIM IE would never
get updated and consequently PS mode clients wouldn't know about
buffered frames.  Instead, get a new beacon on every SWBA interrupt.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54spi: drop test for FW_STATE_RESET in p54spi_work
Max Filippov [Mon, 18 May 2009 17:28:55 +0000 (21:28 +0400)] 
p54spi: drop test for FW_STATE_RESET in p54spi_work

Drop test for FW_STATE_RESET in p54spi_work as fw_state
is never assigned this value.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agob43/legacy: fix beacon change processing
Johannes Berg [Mon, 18 May 2009 08:53:18 +0000 (10:53 +0200)] 
b43/legacy: fix beacon change processing

Process beacon change even if the BSSID doesn't
change at the same time. Also fix what I think
is a small locking error in b43legacy, there's
a spin_unlock_irqrestore that looks out of place.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54spi: use firmware/DMA bug workaround that work under hight load in p54spi_rx
Max Filippov [Sun, 17 May 2009 23:02:35 +0000 (03:02 +0400)] 
p54spi: use firmware/DMA bug workaround that work under hight load in p54spi_rx

Under high load first data word, read after available data size
is sometimes lost in p54spi_rx. It seems to depend on frequency
of interrupts and latency of data read request relatively to
'data available' interrupt. The worst consequence of this bug
is loss of packet transmission acknowledgement, which in turn
causes overflow of tx queues and permanent link loss.

Read data size and first data word in one SPI transaction.
No packets from LMAC should have length less than 1 word,
so this shouldn't interfere with the next read transaction.

Also call p54spi_sleep if p54spi_wake succeeded.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54spi: always call p54spi_sleep in p54spi_tx_frame if p54spi_wakeup succeeded
Max Filippov [Sun, 17 May 2009 23:02:34 +0000 (03:02 +0400)] 
p54spi: always call p54spi_sleep in p54spi_tx_frame if p54spi_wakeup succeeded

Put chip into sleep state, once it's been awaken.
Also, propagate error code to the caller.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54spi: return status of p54spi_wakeup
Max Filippov [Sun, 17 May 2009 23:02:33 +0000 (03:02 +0400)] 
p54spi: return status of p54spi_wakeup

Return whether wakeup operation succeeded.
Make use of this return value.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
15 years agop54spi: cosmetic fixes: use even byte count in SPI write; drop unused interrupt statu...
Max Filippov [Sun, 17 May 2009 23:02:32 +0000 (03:02 +0400)] 
p54spi: cosmetic fixes: use even byte count in SPI write; drop unused interrupt status read

When SPI write of odd length is requested, p54spi_write splits it
into two parts: one for all data, except the last byte, and one
for last byte and padding byte. Unfortunately, the length of
first part is not amended. It works because all meaningful bytes
have proper value and the last byte of odd length SPI write
transaction is ignored.

p54spi_work has dummy HOST_INTERRUPTS register read at the end.
Drop it, as its result is not used and it has no side effects.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>