linux/net/mac80211
Johannes Berg 55687e380a mac80211: fix aggregation timer lockups
As far as I can tell, there are possible lockups because both the RX
session_timer and TX addba_resp_timer are del_timer_sync'ed under
the sta spinlock which both timer functions take. Additionally, the
TX agg code seems to leak memory when TX aggregation is not disabled
before the sta_info is freed.

Fix this by making the free code a little smarter in the RX agg case,
and actually make the sta_info_destroy code free the TX agg info in
the TX agg case. We won't notify the peer, but it'll notice something
is wrong anyway, and normally this only happens after we've told it
in some other way we will no longer talk to it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-13 13:45:43 -05:00
..
aes_ccm.c
aes_ccm.h
aes_cmac.c mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
aes_cmac.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00
agg-rx.c mac80211: fix aggregation timer lockups 2009-02-13 13:45:43 -05:00
agg-tx.c mac80211: fix race in TX aggregation 2009-02-13 13:45:41 -05:00
cfg.c mac80211: reject extra IEs for probe request when hw_scan 2009-02-13 13:45:26 -05:00
cfg.h
debugfs.c mac80211: Generic TSF debugging 2009-01-29 16:01:46 -05:00
debugfs.h
debugfs_key.c mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_key.h mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
debugfs_netdev.c
debugfs_netdev.h
debugfs_sta.c mac80211: 802.11w - STA flag for MFP 2009-01-29 16:00:00 -05:00
debugfs_sta.h
event.c
ht.c mac80211: restrict aggregation to supported interface modes 2009-02-13 13:45:36 -05:00
ieee80211_i.h mac80211: restructure HT code 2009-02-13 13:45:34 -05:00
iface.c mac80211: convert to net_device_ops 2009-02-09 15:03:44 -05:00
Kconfig
key.c mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
key.h mac80211: 802.11w - Use BIP (AES-128-CMAC) 2009-01-29 16:00:03 -05:00
led.c
led.h
main.c mac80211: disable IBSS beacon before join 2009-02-13 13:45:20 -05:00
Makefile mac80211: restructure HT code 2009-02-13 13:45:34 -05:00
mesh.c mac80211: Add capability to enable/disable beaconing 2009-01-29 16:01:13 -05:00
mesh.h wireless: restrict to 32 legacy rates 2009-01-29 16:01:09 -05:00
mesh_hwmp.c mac80211: fix RX aggregation timeouts 2009-02-13 13:45:32 -05:00
mesh_pathtbl.c
mesh_plink.c wireless: restrict to 32 legacy rates 2009-01-29 16:01:09 -05:00
michael.c
michael.h
mlme.c mac80211: use ps-poll when dynamic power save mode is disabled 2009-02-13 13:45:17 -05:00
pm.c mac80211: flush workqueue a second time in suspend() 2009-01-29 16:01:42 -05:00
rate.c
rate.h
rc80211_minstrel.c minstrel: fix warning if lowest supported rate index is not 0 2009-01-12 14:24:55 -05:00
rc80211_minstrel.h
rc80211_minstrel_debugfs.c
rc80211_pid.h
rc80211_pid_algo.c
rc80211_pid_debugfs.c
rx.c mac80211: restrict aggregation to supported interface modes 2009-02-13 13:45:36 -05:00
scan.c mac80211: fix beacon enable more 2009-02-13 13:45:27 -05:00
spectmgmt.c mac80211: Handle power constraint level advertised in 11d+h beacon 2009-01-29 16:00:15 -05:00
sta_info.c mac80211: fix aggregation timer lockups 2009-02-13 13:45:43 -05:00
sta_info.h mac80211: fix aggregation timer lockups 2009-02-13 13:45:43 -05:00
tkip.c
tkip.h
tx.c mac80211: Fix the wrong WARN_ON message appearing on enabling power save. 2009-02-13 13:44:38 -05:00
util.c mac80211: add interface list lock 2009-01-29 16:01:45 -05:00
wep.c
wep.h
wext.c mac80211: properly validate/translate IW_AUTH_MFP values 2009-02-13 13:45:24 -05:00
wme.c
wme.h
wpa.c mac80211: 802.11w - Optional software CCMP for management frames 2009-01-29 16:00:08 -05:00
wpa.h mac80211: 802.11w - Add BIP (AES-128-CMAC) 2009-01-29 16:00:02 -05:00