aha/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 mac80211: aes_ccm.c remove crypto wrapper and extra args 2008-07-08 14:16:02 -04:00
aes_ccm.h mac80211: pass scratch buffer directly, remove additional pointers 2008-07-08 14:16:02 -04:00
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 [MAC80211]: rename ieee80211_cfg.h to cfg.h 2007-10-10 16:52:34 -07:00
debugfs.c mac80211: Generic TSF debugging 2009-01-29 16:01:46 -05:00
debugfs.h [MAC80211]: Add debugfs attributes. 2007-05-05 11:46:38 -07:00
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 mac80211: move bss_conf into vif 2008-10-31 19:00:15 -04:00
debugfs_netdev.h mac80211: revamp virtual interface handling 2008-07-14 14:30:07 -04:00
debugfs_sta.c mac80211: 802.11w - STA flag for MFP 2009-01-29 16:00:00 -05:00
debugfs_sta.h mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -05:00
event.c mac80211: convert to %pM away from print_mac 2008-10-27 17:06:16 -07:00
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 mac80211: make Minstrel the default rate control algorithm 2008-11-26 09:47:03 -05:00
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 mac80211: rename files 2008-04-08 16:44:45 -04:00
led.h mac80211: rename files 2008-04-08 16:44:45 -04:00
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 mac80211: mesh portal functionality support 2008-09-24 16:18:02 -04:00
mesh_plink.c wireless: restrict to 32 legacy rates 2009-01-29 16:01:09 -05:00
michael.c mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
michael.h mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
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 mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rate.h mac80211: remove rate_control_clear 2008-10-31 19:00:37 -04:00
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 minstrel: improve performance for non-MRR drivers 2008-10-31 19:00:36 -04:00
rc80211_minstrel_debugfs.c mac80211: correct warnings in minstrel rate control algorithm 2008-10-27 17:46:11 -04:00
rc80211_pid.h mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
rc80211_pid_algo.c mac80211: Fix pid rate-setting algorithm to allow rate changes 2008-11-26 09:47:20 -05:00
rc80211_pid_debugfs.c mac80211/drivers: rewrite the rate control API 2008-10-31 19:00:23 -04:00
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 mac80211: convert to %pM away from print_mac 2008-10-27 17:06:16 -07:00
tkip.h mac80211: tkip.c consolidate tkip IV writing in helper 2008-06-14 12:18:13 -04:00
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 mac80211: fix unaligned access in ieee80211_wep_encrypt_data 2008-11-26 09:47:51 -05:00
wep.h mac80211: minor code cleanups 2008-10-31 18:05:59 -04:00
wext.c mac80211: properly validate/translate IW_AUTH_MFP values 2009-02-13 13:45:24 -05:00
wme.c mac80211: Re-enable aggregation 2008-10-31 19:02:14 -04:00
wme.h mac80211: clean up some comments 2008-09-15 16:48:22 -04:00
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