GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
14 years agoiwlwifi: configure missed beacon threshold
Wey-Yi Guy [Fri, 22 Jan 2010 22:22:42 +0000 (14:22 -0800)]
iwlwifi: configure missed beacon threshold

Add support to configure missed beacon threshold, by default, if receive
"missed beacon" notification from uCode and has more than 5 consecutive
beacon missed, then perform sensitivity calibration; with this change,
allow user to adjust the missed beacon threshold from debugfs in case
more sensitivity calibration required for better performance in noisy
environment

The default value (=5) should be good enough for the normal condition,
but for very noisy environment, more sensitivity calibration could help
improve the throughput, so by setting the missed beacon threshold to
lower number, user might experience better performance result.

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>
14 years agomac80211: fix tx select key null pointer crash with hostapd
Kalle Valo [Sat, 23 Jan 2010 18:27:14 +0000 (20:27 +0200)]
mac80211: fix tx select key null pointer crash with hostapd

Pavel Roskin reported a crash in ieee80211_tx_h_select_key():

http://marc.info/?l=linux-wireless&m=126419655108528&w=2

This is a regression from patch "mac80211: move control.hw_key assignment".
Fix it as suggested by Johannes, adding an else statement to make sure
that tx->key is not accessed when it's null.

Compile-tested only.

Reported-by: Pavel Roskin <proski@gnu.org>
Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Kalle Valo <kalle.valo@iki.fi>
Tested-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: add missing key check
Johannes Berg [Fri, 22 Jan 2010 21:07:59 +0000 (22:07 +0100)]
mac80211: add missing key check

ieee80211_tx_h_select_key might decide that a frame
need not be encrypted at all, in which case it will
clear tx->key. In that case it may crash if a key
was previously selected, e.g. as the default key.

This is also due to my patch
"mac80211: move control.hw_key assignment".

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agop54pci: revise tx locking
Christian Lamparter [Fri, 22 Jan 2010 07:01:11 +0000 (08:01 +0100)]
p54pci: revise tx locking

This patch continues the effort which began with:
"[PATCH] p54pci: move tx cleanup into tasklet".

Thanks to these changes, p54pci's interrupt & tx
cleanup routines can be made lock-less.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add TX tone
Rafał Miłecki [Fri, 22 Jan 2010 00:53:16 +0000 (01:53 +0100)]
b43: N-PHY: add TX tone

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add setting power amplifier filters
Rafał Miłecki [Fri, 22 Jan 2010 00:53:15 +0000 (01:53 +0100)]
b43: N-PHY: add setting power amplifier filters

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add running samples
Rafał Miłecki [Fri, 22 Jan 2010 00:53:14 +0000 (01:53 +0100)]
b43: N-PHY: add running samples

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement overriding RF control
Rafał Miłecki [Fri, 22 Jan 2010 00:53:13 +0000 (01:53 +0100)]
b43: N-PHY: implement overriding RF control

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: check band width
Rafał Miłecki [Fri, 22 Jan 2010 00:53:12 +0000 (01:53 +0100)]
b43: check band width

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: fix rx data handling for non-data frames on multiple vifs
Felix Fietkau [Thu, 21 Jan 2010 23:36:39 +0000 (00:36 +0100)]
mac80211: fix rx data handling for non-data frames on multiple vifs

The loop that passes non-data frames to all relevant vifs inside the
__ieee80211_rx_handle_packet keeps a pointer to the previous sdata to
avoid having to make unnecessary copies of the frame it's handling.
This led to a bug that caused it to apply the ieee80211_rx_data state
to the wrong interface, thereby either missing the rx.sta pointer or
having it assigned where it shouldn't be.
This breaks (among other things) aggregation on some vifs, as action
frame exchages are dropped to the cooked monitor interface due to
rx->sta being NULL.
Fix this by restructuring the loop so that it prepares the rx data just
before making the skb copy and calling the rx handlers.

Cc: stable@kernel.org
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: Fix wifi disconnection when collocated bt scan is active
Vasanthakumar Thiagarajan [Thu, 21 Jan 2010 05:47:27 +0000 (11:17 +0530)]
ath9k: Fix wifi disconnection when collocated bt scan is active

As all bt packets are priority traffic during bt scan, wifi
will get disconnected when bt scan lasts for few seconds. Fix
this by allocating 10% of bt period time (4.5ms) to wifi fully.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath5k: fix setup for CAB queue
Bob Copeland [Thu, 21 Jan 2010 04:51:04 +0000 (23:51 -0500)]
ath5k: fix setup for CAB queue

The beacon sent gating doesn't seem to work with any combination
of flags.  Thus, buffered frames tend to stay buffered forever,
using up tx descriptors.

Instead, use the DBA gating and hold transmission of the buffered
frames until 80% of the beacon interval has elapsed using the ready
time.  This fixes the following error in AP mode:

   ath5k phy0: no further txbuf available, dropping packet

Add a comment to acknowledge that this isn't the best solution.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath5k: dont use external sleep clock in AP mode
Bob Copeland [Thu, 21 Jan 2010 04:51:03 +0000 (23:51 -0500)]
ath5k: dont use external sleep clock in AP mode

When using the external sleep clock in AP mode, the
TSF increments too quickly, causing beacon interval
to be much lower than it is supposed to be, resulting
in lots of beacon-not-ready interrupts.

This fixes http://bugzilla.kernel.org/show_bug.cgi?id=14802.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: Account HT Control field in Data frame hdrlen according to 802.11n-2009
Andriy Tkachuk [Wed, 20 Jan 2010 11:55:06 +0000 (13:55 +0200)]
mac80211: Account HT Control field in Data frame hdrlen according to 802.11n-2009

ieee80211_hdrlen() should account account new HT Control field in 802.11
data frame header introduced by IEEE 802.11n standard.

According to 802.11n-2009 HT Control field is present in data frames
when both of following are met:

   1. It is QoS data frame.
   2. Order bit is set in Frame Control field.

The change might be totally compatible with legacy non-11n aware frames,
because 802.11-2007 standard states that "all QoS STAs set this subfield
to 0".

Signed-off-by: Andriy V. Tkachuk <andrit@ukr.net>
Acked-by : Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agocfg80211: export multiple MAC addresses in sysfs
Johannes Berg [Wed, 20 Jan 2010 11:02:33 +0000 (12:02 +0100)]
cfg80211: export multiple MAC addresses in sysfs

If a device has multiple MAC addresses, userspace will
need to know about that. Similarly, if it allows the
MAC addresses to vary by a bitmask.

If a driver exports multiple addresses, it is assumed
that it will be able to deal with that many different
addresses, which need not necessarily match the ones
programmed into the device; if a mask is set then the
device should deal addresses within that mask based
on an arbitrary "base address".

To test it all and show how it is used, add support
to hwsim even though it can't actually deal with
addresses different from the default.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: pass vif and station to update_tkip_key
Johannes Berg [Thu, 21 Jan 2010 10:40:47 +0000 (11:40 +0100)]
mac80211: pass vif and station to update_tkip_key

When a TKIP key is updated, we should pass the station
pointer instead of just the address, since drivers can
use that to store their own data. We also need to pass
the virtual interface pointer.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: avoid NULL ptr deref when using WEP
John W. Linville [Fri, 22 Jan 2010 17:33:09 +0000 (12:33 -0500)]
mac80211: avoid NULL ptr deref when using WEP

"mac80211: move control.hw_key assignment" changed an if-else into two
separate if statments, but the if-else is needed to prevent
dereferencing a null info->control.hw_key.  This fixes avoids a lock-up
during association on my machine when using WEP.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas/assoc.c: rearrange some strange line breaks
John W. Linville [Tue, 19 Jan 2010 22:07:41 +0000 (17:07 -0500)]
libertas/assoc.c: rearrange some strange line breaks

Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: make tx power config changes take effect immediatley
Luis R. Rodriguez [Tue, 19 Jan 2010 19:04:19 +0000 (14:04 -0500)]
ath9k: make tx power config changes take effect immediatley

Users wishing to tweak tx power want it to happen immediately,
try to respect that. This was tested by Lorenzo by measuring the
received signal strength from an AP with ath9k and the patch.

Changing the tx power on the AP produced these results:

1) iwconfig wlan0 txpower 20 ---> Rx power -37dbm
2) iwconfig wlan0 txpower 15 ---> Rx power -41dbm
3) iwconfig wlan0 txpower 10 ---> Rx power -45dbm
4) iwconfig wlan0 txpower 5 ---> Rx power -51dbm
5) iwconfig wlan0 txpower 0 ---> Rx power -37dbm

The result with 0 is an anomoly and would need to be
addressed through a separate patch.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Tested-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agonl80211: Allow association to change channels during reassociation
Jouni Malinen [Tue, 19 Jan 2010 18:53:30 +0000 (10:53 -0800)]
nl80211: Allow association to change channels during reassociation

nl80211_associate() was rejecting (re)association attempts with EBUSY
in some cases where we are currently associated with an AP that uses
different channel from the destination AP. Fix this by passing the
current wdev to rdev_fixed_channel() in the same way that was already
done for join-IBSS and connect commands. This allows the fixedchan
check to skipped for the current wdev and allows the reassociation to
proceed.

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agolibertas: Set/clear WPA keys before the WEP ones
Samuel Ortiz [Mon, 18 Jan 2010 23:19:21 +0000 (00:19 +0100)]
libertas: Set/clear WPA keys before the WEP ones

With the v10 firmware running on 8688 HW, clearing WPA keys after setting the
WEP key prevents us from being able to associate with WEP APs.
Swapping the calling order for assoc_helper_wpa_keys() and
assoc_helper_wep_keys fixes that issue.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: silence warnings, add missing call
Rafał Miłecki [Sun, 17 Jan 2010 23:21:49 +0000 (00:21 +0100)]
b43: N-PHY: silence warnings, add missing call

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement and add multi-dimensional table reading
Rafał Miłecki [Sun, 17 Jan 2010 23:21:35 +0000 (00:21 +0100)]
b43: N-PHY: implement and add multi-dimensional table reading

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement and add reading one element tables
Rafał Miłecki [Sun, 17 Jan 2010 23:21:27 +0000 (00:21 +0100)]
b43: N-PHY: implement and add reading one element tables

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement and add multi-dimensional table writing
Rafał Miłecki [Sun, 17 Jan 2010 23:21:21 +0000 (00:21 +0100)]
b43: N-PHY: implement and add multi-dimensional table writing

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add writing one element tables
Rafał Miłecki [Sun, 17 Jan 2010 23:21:17 +0000 (00:21 +0100)]
b43: N-PHY: add writing one element tables

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agop54pci: move tx cleanup into tasklet
Christian Lamparter [Sun, 17 Jan 2010 22:19:25 +0000 (23:19 +0100)]
p54pci: move tx cleanup into tasklet

This patch moves the tx cleanup routines out of the critical
interrupt context and into the (previously known as rx) tasklet.

The main goal of this operation is to remove the extensive
usage of spin_lock_irqsaves in the generic p54common library.

The next step would be to modify p54usb to do the
rx processing inside a tasklet (just like usbnet).

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agop54pci: handle dma mapping errors
Christian Lamparter [Sun, 17 Jan 2010 22:17:29 +0000 (23:17 +0100)]
p54pci: handle dma mapping errors

This patch adds error-paths to handle pci_dma_mapping errors.

Cc: <stable@kernel.org>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: Fixed a bug in IBSS merge
Benoit Papillault [Sun, 17 Jan 2010 21:45:24 +0000 (22:45 +0100)]
mac80211: Fixed a bug in IBSS merge

First, both beacons and probe responses can be used for IBSS merge.
Next, sdata->u.ibss.bssid was always true (and thus IBSS merge was
disabled). We should use sdata->u.ibss.fixed_bssid instead.

Signed-off-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: removed useless code in IBSS management
Benoit Papillault [Sun, 17 Jan 2010 21:45:23 +0000 (22:45 +0100)]
mac80211: removed useless code in IBSS management

ieee82011_sta_find_ibss() and ieee80211_sta_merge_ibss() are always
called with a defined state. So it's useless to check it or set it in
those function.

Signed-off-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: fix RTS/CTS handling
Felix Fietkau [Sun, 17 Jan 2010 20:08:50 +0000 (21:08 +0100)]
ath9k: fix RTS/CTS handling

The Tx DMA descriptor has two kinds of flags that select RTS/CTS usage.
The first one (global for the frame) selects whether RTS/CTS or
CTS-to-self should be used, the second one enables RTS/CTS or
CTS-to-self usage for an individual multi-rate-retry entry.
Previously the code preparing the descriptor only enabled the global
flag, if the first MRR series selected the local one.
Fix this by enabling the global flag if any of the MRR entries need it.
With this patch, rate control can properly select the use of RTS/CTS
for all MRR entries except the first one, which is the default behavior.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agocfg80211: rcu-ify rdev and wdev
Johannes Berg [Sun, 17 Jan 2010 14:49:02 +0000 (15:49 +0100)]
cfg80211: rcu-ify rdev and wdev

Future code will need to look up rdev and wdev
within atomic sections, but currently we need
to lock a mutex for such lookups. Change the
list handling for both to be RCU-safe so that
we can look them up in rcu sections instead in
the future.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: store seq mode for proper restoring (follow specs)
Rafał Miłecki [Sun, 17 Jan 2010 12:04:08 +0000 (13:04 +0100)]
b43: N-PHY: store seq mode for proper restoring (follow specs)

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: move RF sequence declarations top, add missing calls
Rafał Miłecki [Sun, 17 Jan 2010 12:04:02 +0000 (13:04 +0100)]
b43: N-PHY: move RF sequence declarations top, add missing calls

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement chain selection
Rafał Miłecki [Sun, 17 Jan 2010 12:03:55 +0000 (13:03 +0100)]
b43: N-PHY: implement chain selection

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement stopping playback
Rafał Miłecki [Sun, 17 Jan 2010 12:03:48 +0000 (13:03 +0100)]
b43: N-PHY: implement stopping playback

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement MIMO config update
Rafał Miłecki [Sun, 17 Jan 2010 12:03:40 +0000 (13:03 +0100)]
b43: N-PHY: implement MIMO config update

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement TX PHY cleanup and setup
Rafał Miłecki [Sun, 17 Jan 2010 12:03:32 +0000 (13:03 +0100)]
b43: N-PHY: implement TX PHY cleanup and setup

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement RX PHY cleanup and setup
Rafał Miłecki [Sun, 17 Jan 2010 12:03:28 +0000 (13:03 +0100)]
b43: N-PHY: implement RX PHY cleanup and setup

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: re-enable re-transmission of filtered frames
Johannes Berg [Sun, 17 Jan 2010 00:47:59 +0000 (01:47 +0100)]
mac80211: re-enable re-transmission of filtered frames

In an earlier commit,

    mac80211: disable software retry for now

    Pavel Roskin reported a problem that seems to be due to
    software retry of already transmitted frames. It turns
    out that we've never done that correctly, but due to
    some recent changes it now crashes in the TX code. I've
    added a comment in the patch that explains the problem
    better and also points to possible solutions -- which
    I can't implement right now.

I disabled software retry of failed/filtered frames
because it was broken. With the work of the previous
patches, it now becomes fairly easy to re-enable it
by adding a flag indicating that the frame shouldn't
be modified, but still running it through the transmit
handlers to populate the control information.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: move control.hw_key assignment
Johannes Berg [Sun, 17 Jan 2010 00:47:58 +0000 (01:47 +0100)]
mac80211: move control.hw_key assignment

When mac80211 asks a driver to encrypt a frame, it
must assign the control.hw_key pointer for it to
know which key to use etc. Currently, mac80211 does
this whenever it would software-encrypt a frame.

Change the logic of this code to assign the hw_key
pointer when selecting the key, and later check it
when deciding whether to encrypt the frame or let
it be encrypted by the hardware. This allows us to
later simply skip the encryption function since it
no longer modifies the TX control.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: remove useless setting of IEEE80211_TX_INTFL_DONT_ENCRYPT
Johannes Berg [Sun, 17 Jan 2010 00:47:57 +0000 (01:47 +0100)]
mac80211: remove useless setting of IEEE80211_TX_INTFL_DONT_ENCRYPT

There's no value in setting a flag that will
never be checked after this point, this seems
to be legacy code -- I think previously the
flag was used to check whether to encrypt the
frame or not. Now, however, the flag need not
be set, and setting it actually interferes if
the frame will be processed again later.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: clear TX control on filtered frames
Johannes Berg [Sun, 17 Jan 2010 00:47:56 +0000 (01:47 +0100)]
mac80211: clear TX control on filtered frames

When an skb survived a round-trip through the driver
and needs to be re-used, its control information is
definitely not valid any more, the driver will have
overwritten it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: move and rename misc tx handler
Johannes Berg [Sun, 17 Jan 2010 00:47:55 +0000 (01:47 +0100)]
mac80211: move and rename misc tx handler

This TX handler is used only for assigning the
station pointer in the control information, so
give it a better name. Also move it before rate
control.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: pid: replace open-coded msecs_to_jiffies
Bob Copeland [Sat, 16 Jan 2010 19:36:53 +0000 (14:36 -0500)]
mac80211: pid: replace open-coded msecs_to_jiffies

Code directly scaling by HZ and rounding can be more efficiently
and clearly performed with msecs_to_jiffies.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: update copyright year to 2010
Reinette Chatre [Fri, 15 Jan 2010 21:43:41 +0000 (13:43 -0800)]
iwlwifi: update copyright year to 2010

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: remove extra statistics request from debugfs
Wey-Yi Guy [Fri, 15 Jan 2010 21:43:40 +0000 (13:43 -0800)]
iwlwifi: remove extra statistics request from debugfs

When reading current ucode statistics information from debugfs, in
current implementation, it will always send a new "statistics request" to
uCode. In normal operation, uCode should report the statistics per beacon
interval. Remove this extra request to reduce the additional command exchanges
between driver and uCode.

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>
14 years agoiwlwifi: display flowhandler register when sw error or on-demand
Wey-Yi Guy [Fri, 15 Jan 2010 21:43:39 +0000 (13:43 -0800)]
iwlwifi: display flowhandler register when sw error or on-demand

Flowhandler handle the communication between driver and uCode, when any
uCode error happen, we also like to know what is the status of the
flowhandler; it can help to debug flowhandler related problem.

Also adding debugfs file to dump current value of flowhandler registers.

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>
14 years agoiwlwifi: software w/a for h/w bug cause Rx bit get clear
Wey-Yi Guy [Fri, 15 Jan 2010 21:43:38 +0000 (13:43 -0800)]
iwlwifi: software w/a for h/w bug cause Rx bit get clear

This is a w/a for a hardware bug. the h/w bug may cause the Rx bit
(bit 15 before shifting it to 31) to clear when using interrupt coalescing.

This does not mean frames are lost - their processing is just delayed until
next interrupt arrives.

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>
14 years agoiwlwifi: set interrupt coalescing timer range and default
Wey-Yi Guy [Fri, 15 Jan 2010 21:43:37 +0000 (13:43 -0800)]
iwlwifi: set interrupt coalescing timer range and default

For interrupt coalescing timer, the CSR_INT_COALESCING is an 8 bit
register in 32-usec unit, the range can go from 0x00 - 0xFF. set the
range and default timeout value for both calibration mode and operation 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>
14 years agoiwlwifi: correct return code for log_event
Wey-Yi Guy [Fri, 15 Jan 2010 21:43:36 +0000 (13:43 -0800)]
iwlwifi: correct return code for log_event

When dumping event log in debugfs, iwl_dump_nic_event_log()
should return the correct error code instead of let the calling
function makes it own assumption.

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>
14 years agoiwlwifi: add num_of_sos_stats to statistics counter
Wey-Yi Guy [Fri, 15 Jan 2010 21:43:35 +0000 (13:43 -0800)]
iwlwifi: add num_of_sos_stats to statistics counter

When uCode detects number of beacon missed consecutively above the
internal missed beacon threshold (set by uCode), it will reset and
re-tune the radio in order to get out of bad PHY state.

This "num_of_sos_states" counter monitors number of time uCode
encounters this bad condition and has to re-tune the radio.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
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>
14 years agoiwlwifi: format and show statistics counter from uCode
Wey-Yi Guy [Fri, 15 Jan 2010 21:43:34 +0000 (13:43 -0800)]
iwlwifi: format and show statistics counter from uCode

To help debug uCode related problem, adding "delta" and "max"
information in debugfs statistics counters display.

Those information show the delta between two statistics report from
uCode, user can monitor the counters for any "un-normal" behavior.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Jay Sternberg<jay.e.sternberg@intel.com>
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>
14 years agoiwlwifi: fix clear statistics counter command
Wey-Yi Guy [Fri, 15 Jan 2010 21:43:33 +0000 (13:43 -0800)]
iwlwifi: fix clear statistics counter command

When receive reply statistics command with "clear" mask, just reset the
accumulated statistics counters, but not the current statistics counters,
so the accumulated statistics counter can provide the correct
information.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
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>
14 years agomac80211: fix WMM AC default for non-QoS data frames
Felix Fietkau [Tue, 12 Jan 2010 03:08:26 +0000 (04:08 +0100)]
mac80211: fix WMM AC default for non-QoS data frames

The WMM AC selection added to the monitor mode selection function
accidentally assigns non-QoS data frames to the same AC as mgmt frames
(VO). This is not serious, but should be fixed anyway. This patch
assigns them to the BE AC instead.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6
John W. Linville [Tue, 19 Jan 2010 20:58:41 +0000 (15:58 -0500)]
Merge git://git./linux/kernel/git/linville/wireless-2.6

14 years agozd1211rw: adding 0409:0248 to supported device list
Hin-Tak Leung [Mon, 18 Jan 2010 01:24:11 +0000 (01:24 +0000)]
zd1211rw: adding 0409:0248 to supported device list

Yasuhiro ABE <yadiary@gmail.com> reported success in sourceforge zd1211-dev list.
The device is a NEC Aterm WL54GU usb wireless stick.

The brand and retail product name
    NEC, Aterm PA-WL54GU
The USB ID's (duh)
    ID 0409:0248
The chip ID string
    zd1211rw 1-1:1.0: zd1211b chip 0409:0248 v4810 high 00-1b-8b AL2230S_RF pa0 g--N-
The FCC ID
    unknown

Signed-off-by: Hin-Tak Leung <htl10@users.sourceforge.net>
Signed-off-by: Yasuhiro ABE <yadiary@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agop54pci: rx frame length check
Christian Lamparter [Sun, 17 Jan 2010 23:07:38 +0000 (00:07 +0100)]
p54pci: rx frame length check

A long time ago, a user reported several crashes due to
data corruptions which are likely the result of a
not-100%-supported, or faulty? PCI bridge.
( http://patchwork.kernel.org/patch/53004/ )

This patch fixes entry #1.
"1.  p54p_check_rx_ring - skb_over_panic: Under a ping flood
or just left running for a bit would panic with a skb_over_panic."
As described in the mail: The invalid frame length causes
skb_put to bailout and trigger a crash.

Note:
Simply dropping the frame is problematic, because if its content
contains a tx feedback we would lose some portion of the device
memory space.... And the driver/mac80211 should handle all other
invalid data.

Reported-by: Quintin Pitts <geek4linux@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: fix sign error in pid controller
Bob Copeland [Sat, 16 Jan 2010 19:36:52 +0000 (14:36 -0500)]
mac80211: fix sign error in pid controller

While testing the pid rate controller in mac80211_hwsim, I noticed
that once the controller reached 54 Mbit rates, it would fail to
lower the rate when necessary.  The debug log shows:

1945 186786 pf_sample 50 3534 3577 50

My interpretation is that the fixed point scaling of the target
error value (pf) is incorrect: the error value of 50 compared to
a target of 14 case should result in a scaling value of
(14-50) = -36 * 256 or -9216, but instead it is (14 * 256)-50, or
3534.

Correct this by doing fixed point scaling after subtraction.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Stefano Brivio <stefano.brivio@polimi.it>
Acked-by: Mattias Nissler <mattias.nissler@gmx.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: add license to tracing files
Reinette Chatre [Fri, 15 Jan 2010 21:42:59 +0000 (13:42 -0800)]
iwlwifi: add license to tracing files

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoiwlwifi: Fix throughput stall issue in HT mode for 5000
Wey-Yi Guy [Fri, 15 Jan 2010 21:42:58 +0000 (13:42 -0800)]
iwlwifi: Fix throughput stall issue in HT mode for 5000

Similar to 6000 and 1000 series, RTS/CTS is the recommended protection
mechanism for 5000 series in HT mode based on the HW design.

Using RTS/CTS will better protect the inner exchange from interference,
especially in highly-congested environment, it also prevent uCode encounter
TX FIFO underrun and other HT mode related performance issues.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
CC: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: drop unused definition, uncomment needed call
Rafał Miłecki [Fri, 15 Jan 2010 15:38:07 +0000 (16:38 +0100)]
b43: N-PHY: drop unused definition, uncomment needed call

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement TX power control coef setup
Rafał Miłecki [Fri, 15 Jan 2010 15:24:57 +0000 (16:24 +0100)]
b43: N-PHY: implement TX power control coef setup

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add RX IQ calibrationi for rev < 3
Rafał Miłecki [Fri, 15 Jan 2010 15:20:56 +0000 (16:20 +0100)]
b43: N-PHY: add RX IQ calibrationi for rev < 3

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add huge calculating TX IQ LO
Rafał Miłecki [Fri, 15 Jan 2010 15:10:48 +0000 (16:10 +0100)]
b43: N-PHY: add huge calculating TX IQ LO

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement calculating IQ gain params
Rafał Miłecki [Fri, 15 Jan 2010 15:08:25 +0000 (16:08 +0100)]
b43: N-PHY: implement calculating IQ gain params

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: update TX calibration ladder
Rafał Miłecki [Fri, 15 Jan 2010 15:06:35 +0000 (16:06 +0100)]
b43: N-PHY: update TX calibration ladder

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add RX radio cores calibration
Rafał Miłecki [Fri, 15 Jan 2010 14:55:18 +0000 (15:55 +0100)]
b43: N-PHY: add RX radio cores calibration

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add TX LP FBW (TX filter 40 related)
Rafał Miłecki [Fri, 15 Jan 2010 14:51:55 +0000 (15:51 +0100)]
b43: N-PHY: add TX LP FBW (TX filter 40 related)

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement getting TX gains
Rafał Miłecki [Fri, 15 Jan 2010 14:40:50 +0000 (15:40 +0100)]
b43: N-PHY: implement getting TX gains

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement calculating RX IQ comp
Rafał Miłecki [Fri, 15 Jan 2010 14:29:05 +0000 (15:29 +0100)]
b43: N-PHY: implement calculating RX IQ comp

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement RX IQ estimation
Rafał Miłecki [Fri, 15 Jan 2010 14:26:12 +0000 (15:26 +0100)]
b43: N-PHY: implement RX IQ estimation

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement restoring general configuration
Rafał Miłecki [Fri, 15 Jan 2010 14:18:35 +0000 (15:18 +0100)]
b43: N-PHY: implement restoring general configuration

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>a
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement workaround for TX IQ
Rafał Miłecki [Fri, 15 Jan 2010 14:17:10 +0000 (15:17 +0100)]
b43: N-PHY: implement workaround for TX IQ

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement RX IQ coeffs
Rafał Miłecki [Fri, 15 Jan 2010 14:16:25 +0000 (15:16 +0100)]
b43: N-PHY: implement RX IQ coeffs

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add function than forces (not) staying in carrier search
Rafał Miłecki [Fri, 15 Jan 2010 14:10:54 +0000 (15:10 +0100)]
b43: N-PHY: add function than forces (not) staying in carrier search

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add RSSI calibration restore
Rafał Miłecki [Fri, 15 Jan 2010 14:06:47 +0000 (15:06 +0100)]
b43: N-PHY: add RSSI calibration restore

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>`
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement PA overriding (RF control related)
Rafał Miłecki [Fri, 15 Jan 2010 14:02:38 +0000 (15:02 +0100)]
b43: N-PHY: implement PA overriding (RF control related)

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: RSSI calibration for rev < 3
Rafał Miłecki [Fri, 15 Jan 2010 13:48:21 +0000 (14:48 +0100)]
b43: N-PHY: RSSI calibration for rev < 3

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add RSSI polling and setting 2055 (radio) VCM
Rafał Miłecki [Fri, 15 Jan 2010 13:45:13 +0000 (14:45 +0100)]
b43: N-PHY: add RSSI polling and setting 2055 (radio) VCM

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: implement RSSI selection and offset scaling
Rafał Miłecki [Fri, 15 Jan 2010 13:38:32 +0000 (14:38 +0100)]
b43: N-PHY: implement RSSI selection and offset scaling

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add clip detection reading/writing and some classifier function
Rafał Miłecki [Fri, 15 Jan 2010 13:31:39 +0000 (14:31 +0100)]
b43: N-PHY: add clip detection reading/writing and some classifier function

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: split RSSI calibration into 2 functions (rev2, rev3)
Rafał Miłecki [Fri, 15 Jan 2010 12:40:58 +0000 (13:40 +0100)]
b43: N-PHY: split RSSI calibration into 2 functions (rev2, rev3)

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: update CCA reset
Rafał Miłecki [Fri, 15 Jan 2010 12:36:43 +0000 (13:36 +0100)]
b43: N-PHY: update CCA reset

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: update init code to match current specs
Rafał Miłecki [Fri, 15 Jan 2010 12:27:29 +0000 (13:27 +0100)]
b43: N-PHY: update init code to match current specs

Previous init path was based on old specs from old driver. Update it
as much as possible leaving some TODOs for not implemented functions.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add various tables
Rafał Miłecki [Fri, 15 Jan 2010 12:02:45 +0000 (13:02 +0100)]
b43: N-PHY: add various tables

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add global variables to b43_phy_n struct
Rafał Miłecki [Fri, 15 Jan 2010 11:54:30 +0000 (12:54 +0100)]
b43: N-PHY: add global variables to b43_phy_n struct

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add missing register definitions
Rafał Miłecki [Fri, 15 Jan 2010 11:40:03 +0000 (12:40 +0100)]
b43: N-PHY: add missing register definitions

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add needed struct definitions
Rafał Miłecki [Fri, 15 Jan 2010 11:34:21 +0000 (12:34 +0100)]
b43: N-PHY: add needed struct definitions

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: add shared memory offsets definitions
Rafał Miłecki [Fri, 15 Jan 2010 11:27:46 +0000 (12:27 +0100)]
b43: N-PHY: add shared memory offsets definitions

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: N-PHY: clean table init, check PHY rev
Rafał Miłecki [Fri, 15 Jan 2010 11:18:21 +0000 (12:18 +0100)]
b43: N-PHY: clean table init, check PHY rev

Move table init to tables_nphy.c, detect newer PHY which use different init.
We don't init newer PHYs yet but this at least shows what more is needed.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: add new SSB's core id for BCM4328
Rafał Miłecki [Fri, 15 Jan 2010 11:10:53 +0000 (12:10 +0100)]
b43: add new SSB's core id for BCM4328

Following line shows my BCM4328 detected on SSB. We didn't include 0x0C rev.
ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x0C, vendor 0x4243)

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agob43: use standard fls for finding the most significant bit
Rafał Miłecki [Fri, 15 Jan 2010 11:01:49 +0000 (12:01 +0100)]
b43: use standard fls for finding the most significant bit

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: implement coverage class support
Felix Fietkau [Fri, 15 Jan 2010 01:34:58 +0000 (02:34 +0100)]
ath9k: implement coverage class support

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agoath9k: cleanup slot time and ack/cts timeout handling
Felix Fietkau [Fri, 15 Jan 2010 01:33:40 +0000 (02:33 +0100)]
ath9k: cleanup slot time and ack/cts timeout handling

Previously ath9k left the initialization of slot timing and ACK/CTS
timeout to the mode specific initvals. This does not handle short vs
long slot in 2.4 GHz and uses a rather strange value for the 2.4 GHz
ACK timeout (64 usec).
This patch uses the proper ath9k_hw functions for setting slot time and
timeouts and also implements the switch between short and long slot
time in 2.4 GHz

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: fix memory leak in ieee80211_send_probe_req
Ming Lei [Fri, 15 Jan 2010 13:44:21 +0000 (21:44 +0800)]
mac80211: fix memory leak in ieee80211_send_probe_req

This patch fixes memory leak in ieee80211_send_probe_req, which
is introduced in 7c12ce8b854df346388ea56d684784e3484012cf:

mac80211: use Probe Request template when sending a direct scan

The patch is against the latest wireless-test tree.

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Reviewed-by: Kalle Valo <kalle.valo@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: force use_short_slot=true for 5GHz
Felix Fietkau [Fri, 15 Jan 2010 02:00:48 +0000 (03:00 +0100)]
mac80211: force use_short_slot=true for 5GHz

Normally 5GHz does not have a concept of long vs short slot time,
however the slot time that it ends up using is the same as for 2.4 GHZ
and use_short_slot == true
Because of that, it makes more sense to force use_short_slot = true
whenever 5 GHz is being used, so that this particular check does not
have to be in every single driver that uses this flag.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agocfg80211: make regulatory_hint_11d() band specific
Luis R. Rodriguez [Fri, 15 Jan 2010 01:08:20 +0000 (20:08 -0500)]
cfg80211: make regulatory_hint_11d() band specific

In practice APs do not send country IE channel triplets for channels
the AP is not operating on and if they were to do so they would have
to use the regulatory extension which we currently do not process.
No AP has been seen in practice that does this though so just drop
those country IEs.

Additionally it has been noted the first series of country IE
channels triplets are specific to the band the AP sends. Propagate
the band on which the country IE was found on reject the country
IE then if the triplets are ever oustide of the band.

Although we now won't process country IE information with multiple
band information we leave the intersection work as is as it is
technically possible for someone to want to eventually process these
type of country IEs with regulatory extensions.

Cc: Jouni Malinen <jouni.malinen@atheros.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: Fixed netif_tx_wake_all_queues in IBSS mode
Benoit Papillault [Thu, 14 Jan 2010 22:20:31 +0000 (23:20 +0100)]
mac80211: Fixed netif_tx_wake_all_queues in IBSS mode

When ieee80211_offchannel_return is called, it needs to re-enabled TX
queues that have been stopped in ieee80211_offchannel_stop_beaconing or
ieee80211_offchannel_stop_station. It happens if we are doing a scan with an
IBSS interface. In this case, the interface stopped transmitting.

Signed-off-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
14 years agomac80211: check that ieee80211_set_power_mgmt only handles STA interfaces.
Benoit Papillault [Fri, 15 Jan 2010 11:21:37 +0000 (12:21 +0100)]
mac80211: check that ieee80211_set_power_mgmt only handles STA interfaces.

ieee80211_set_power_mgmt is meant for STA interfaces only. Moreover,
since sdata->u.mgd.mtx is only initialized for STA interfaces, using
this code for any other type of interface (like creating a monitor
interface) will result in a oops.

Cc: stable@kernel.org
Signed-off-by: Benoit Papillault <benoit.papillault@free.fr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>