linux/net/mac80211
Johannes Berg 71ecfa1893 mac80211: clean up remain-on-channel on interface stop
When any interface goes down, it could be the one that we
were doing a remain-on-channel with. We therefore need to
cancel the remain-on-channel and flush the related work
structs so they don't run after the interface has been
removed or even destroyed.

It's also possible in this case that an off-channel SKB
was never transmitted, so free it if this is the case.
Note that this can also happen if the driver finishes
the off-channel period without ever starting it.

Cc: stable@kernel.org
Reported-by: Nirav Shah <nirav.j2.shah@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-06-04 15:25:26 -04:00
..
aes_ccm.c mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_ccm.h mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_cmac.c mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_cmac.h mac80211: fix CMAC races 2011-07-08 11:11:20 -04:00
agg-rx.c net: Convert net_ratelimit uses to net_<level>_ratelimited 2012-05-15 13:45:03 -04:00
agg-tx.c mac80211: fix TX aggregation session timer 2012-05-16 12:46:04 -04:00
cfg.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2012-05-14 18:00:48 -04:00
cfg.h
chan.c mac80211: remove channel type argument from rate_update 2012-04-10 14:54:08 -04:00
debugfs_key.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
debugfs_key.h mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
debugfs_netdev.c mac80211: Add debugfs entry for mesh ht_opmode 2012-05-16 13:24:25 -04:00
debugfs_netdev.h mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
debugfs_sta.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2012-04-12 13:49:28 -04:00
debugfs_sta.h
debugfs.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
debugfs.h simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
driver-ops.h mac80211: Framework to get wifi-driver stats via ethtool. 2012-05-08 21:53:51 -04:00
driver-trace.c
driver-trace.h mac80211: Framework to get wifi-driver stats via ethtool. 2012-05-08 21:53:51 -04:00
event.c
ht.c net: Convert net_ratelimit uses to net_<level>_ratelimited 2012-05-15 13:45:03 -04:00
ibss.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2012-05-22 15:18:06 -04:00
ieee80211_i.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2012-05-14 18:00:48 -04:00
iface.c mac80211: clean up remain-on-channel on interface stop 2012-06-04 15:25:26 -04:00
Kconfig mac80211: Implement mesh synchronization framework 2012-04-10 15:20:31 -04:00
key.c mac80211: clean up asm/unaligned.h inclusion 2012-02-27 14:06:32 -05:00
key.h mac80211: allow driver to disconnect after resume 2011-07-13 14:49:43 -04:00
led.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
led.h mac80211: selective throughput LED trigger active 2010-12-22 14:33:37 -05:00
main.c mac80211: (selectively) add HT details in radiotap 2012-05-16 12:46:38 -04:00
Makefile mac80211: Implement mesh synchronization framework 2012-04-10 15:20:31 -04:00
mesh_hwmp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2012-05-22 15:18:06 -04:00
mesh_pathtbl.c mac80211: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:18 -04:00
mesh_plink.c mac80211: Modify mesh_set_ht_prot_mode() to have less identation 2012-05-16 13:24:25 -04:00
mesh_sync.c mac80211: fixup for mesh TSF adjustment latency in Toffset setpoint 2012-04-23 15:37:41 -04:00
mesh.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2012-05-22 15:18:06 -04:00
mesh.h mac80211: Adds clean sdata helper 2012-04-24 14:56:10 -04:00
michael.c
michael.h
mlme.c mac80211: run scan after finish connection monitoring 2012-06-04 15:21:18 -04:00
offchannel.c mac80211: clean up remain-on-channel on interface stop 2012-06-04 15:25:26 -04:00
pm.c mac80211: add explicit monitor interface if needed 2012-04-11 16:23:49 -04:00
rate.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
rate.h mac80211: notify driver of rate control updates 2012-04-10 14:54:08 -04:00
rc80211_minstrel_debugfs.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
rc80211_minstrel_ht_debugfs.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
rc80211_minstrel_ht.c mac80211: remove hw.conf.channel usage where possible 2012-04-13 14:32:50 -04:00
rc80211_minstrel_ht.h minstrel_ht: move minstrel_mcs_groups declaration to header file 2010-06-24 15:42:18 -04:00
rc80211_minstrel.c mac80211: remove hw.conf.channel usage where possible 2012-04-13 14:32:50 -04:00
rc80211_minstrel.h minstrel_ht: fixed rate mode through debugfs 2011-06-01 15:12:29 -04:00
rc80211_pid_algo.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
rc80211_pid_debugfs.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
rc80211_pid.h Fix common misspellings 2011-03-31 11:26:23 -03:00
rx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2012-05-22 15:18:06 -04:00
scan.c mac80211: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:18 -04:00
spectmgmt.c mac80211: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
sta_info.c mac80211: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:18 -04:00
sta_info.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2012-05-14 18:00:48 -04:00
status.c mac80211: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:18 -04:00
tkip.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
tkip.h mac80211: fix TKIP races, make API easier to use 2011-07-08 11:11:19 -04:00
tx.c mac80211: Fix Unreachable Mesh Station Problem when joining to another MBSS 2012-06-04 15:23:23 -04:00
util.c mac80211: fix error in station state transitions during reconfig 2012-06-04 15:24:56 -04:00
wep.c mac80211: fix network header location when adding encryption headers 2012-05-16 12:47:43 -04:00
wep.h mac80211: move RX WEP weak IV counting 2012-03-13 14:54:16 -04:00
wme.c mac80211: use IEEE80211_NUM_ACS 2012-04-10 14:56:10 -04:00
wme.h mac80211: make ieee80211_downgrade_queue static 2012-04-10 14:54:06 -04:00
work.c mac80211: protect ->scanning by mutex in ieee80211_work_work() 2012-04-13 14:31:50 -04:00
wpa.c mac80211: fix network header location when adding encryption headers 2012-05-16 12:47:43 -04:00
wpa.h mac80211: fix tx->skb NULL pointer dereference 2012-01-16 15:01:16 -05:00