diff options
author | Arik Nemtsov <arik@wizery.com> | 2011-08-25 13:43:13 +0400 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-09-14 14:15:05 +0400 |
commit | 56d4f8f685c073c7ed7203b78c57f5d893d65102 (patch) | |
tree | 43df6c90e21c741c6b76df83bcbd4ea9e6f8993c /drivers/net/wireless/wl12xx | |
parent | f8e0af6b8732b47c2531a280753d29a4ca2d114b (diff) | |
download | linux-56d4f8f685c073c7ed7203b78c57f5d893d65102.tar.xz |
wl12xx: AP mode - don't regulate FW blocks for non-active STAs
Check a STA is associated before regulating its PS-status in mac80211.
Should never happen, so warn as a precaution.
[Small cosmetic change wrt Kalle Valo's comment. -- Luca]
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx')
-rw-r--r-- | drivers/net/wireless/wl12xx/tx.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/tx.c b/drivers/net/wireless/wl12xx/tx.c index b6b2d3ac75cf..b876e9eb4e83 100644 --- a/drivers/net/wireless/wl12xx/tx.c +++ b/drivers/net/wireless/wl12xx/tx.c @@ -30,6 +30,7 @@ #include "reg.h" #include "ps.h" #include "tx.h" +#include "event.h" static int wl1271_set_default_wep_key(struct wl1271 *wl, u8 id) { @@ -132,6 +133,9 @@ static void wl1271_tx_regulate_link(struct wl1271 *wl, u8 hlid) if (hlid < WL1271_AP_STA_HLID_START) return; + if (WARN_ON(!wl1271_is_active_sta(wl, hlid))) + return; + fw_ps = test_bit(hlid, (unsigned long *)&wl->ap_fw_ps_map); tx_pkts = wl->links[hlid].allocated_pkts; |