linux/net/mac80211
Stanislaw Gruszka 8125696991 cfg80211/mac80211: disconnect on suspend
If possible that after suspend, cfg80211 will receive request to
disconnect what require action on interface that was removed during
suspend.

Problem can manifest itself by various warnings similar to below one:

WARNING: at net/mac80211/driver-ops.h:12 ieee80211_bss_info_change_notify+0x2f9/0x300 [mac80211]()
wlan0:  Failed check-sdata-in-driver check, flags: 0x4
Call Trace:
 [<c043e0b3>] warn_slowpath_fmt+0x33/0x40
 [<f83707c9>] ieee80211_bss_info_change_notify+0x2f9/0x300 [mac80211]
 [<f83a660a>] ieee80211_recalc_ps_vif+0x2a/0x30 [mac80211]
 [<f83a6706>] ieee80211_set_disassoc+0xf6/0x500 [mac80211]
 [<f83a9441>] ieee80211_mgd_deauth+0x1f1/0x280 [mac80211]
 [<f8381b36>] ieee80211_deauth+0x16/0x20 [mac80211]
 [<f8261e70>] cfg80211_mlme_down+0x70/0xc0 [cfg80211]
 [<f8264de1>] __cfg80211_disconnect+0x1b1/0x1d0 [cfg80211]

To fix the problem disconnect from any associated network before
suspend. User space is responsible to establish connection again
after resume. This basically need to be done by user space anyway,
because associated stations can go away during suspend (for example
NetworkManager disconnects on suspend and connect on resume by default).

Patch also handle situation when driver refuse to suspend with wowlan
configured and try to suspend again without it.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2013-03-06 16:35:55 +01: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: include export.h in aes_cmac 2012-11-07 18:01:54 +01:00
aes_cmac.h mac80211: fix CMAC races 2011-07-08 11:11:20 -04:00
agg-rx.c mac80211: improve aggregation debug messages 2013-01-18 21:55:15 +01:00
agg-tx.c mac80211: fix aggregation state with current drivers 2013-01-24 15:43:51 +01:00
cfg.c mac80211: Allow drivers to differentiate between ROC types 2013-03-06 16:35:49 +01:00
cfg.h
chan.c mac80211: add ieee80211_vif_change_bandwidth 2013-02-15 09:41:36 +01:00
debug.h mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
debugfs_key.c mac80211: add debug file for mic failure 2012-12-05 09:44:41 +01:00
debugfs_key.h mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
debugfs_netdev.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
debugfs_netdev.h
debugfs_sta.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
debugfs_sta.h
debugfs.c mac80211: remove IEEE80211_HW_SCAN_WHILE_IDLE 2013-02-11 18:45:01 +01:00
debugfs.h mac80211: use __printf attribute in debugfs 2012-10-18 09:01:57 +02:00
driver-ops.h mac80211: Allow drivers to differentiate between ROC types 2013-03-06 16:35:49 +01:00
event.c
ht.c mac80211: stop modifying HT SMPS capability 2013-02-15 09:41:41 +01:00
ibss.c mac80211: stop toggling IEEE80211_HT_CAP_SUP_WIDTH_20_40 2013-02-15 09:41:30 +01:00
ieee80211_i.h mac80211: remove napi 2013-03-06 16:35:54 +01:00
iface.c mac80211: remove napi 2013-03-06 16:35:54 +01:00
Kconfig Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
key.c mac80211: add op to configure default key id 2013-01-18 13:30:21 +01:00
key.h mac80211: add debug file for mic failure 2012-12-05 09:44:41 +01:00
led.c leds: Rename led_brightness_set() to led_set_brightness() 2012-07-24 07:52:34 +08:00
led.h mac80211: selective throughput LED trigger active 2010-12-22 14:33:37 -05:00
main.c mac80211: remove napi 2013-03-06 16:35:54 +01:00
Makefile mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
mesh_hwmp.c mac80211: clean up mesh code 2013-02-15 15:46:37 +01:00
mesh_pathtbl.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
mesh_plink.c mac80211: stringify mesh peering events 2013-02-18 15:31:23 +01:00
mesh_ps.c mac80211: consolidate MBSS change notification 2013-02-15 09:41:09 +01:00
mesh_sync.c mac80211: clean up mesh code 2013-02-15 15:46:37 +01:00
mesh.c mac80211: don't spam mesh probe response messages 2013-02-18 15:31:24 +01:00
mesh.h mac80211: clean up mesh code 2013-02-15 15:46:37 +01:00
michael.c
michael.h
mlme.c mac80211: support VHT capability overrides 2013-03-06 16:35:48 +01:00
offchannel.c mac80211: Allow drivers to differentiate between ROC types 2013-03-06 16:35:49 +01:00
pm.c cfg80211/mac80211: disconnect on suspend 2013-03-06 16:35:55 +01:00
rate.c mac80211: convert to channel definition struct 2012-11-26 12:42:59 +01:00
rate.h mac80211: track number of spatial streams 2013-02-15 09:41:31 +01: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 mac80211/minstrel_ht: add support for using CCK rates 2013-02-13 10:56:33 +01:00
rc80211_minstrel_ht.c mac80211/minstrel_ht: fix spacing between sample attempts 2013-03-06 16:35:54 +01:00
rc80211_minstrel_ht.h mac80211/minstrel_ht: increase sampling frequency of some slower rates 2013-03-06 16:35:53 +01:00
rc80211_minstrel.c mac80211/minstrel_ht: add support for using CCK rates 2013-02-13 10:56:33 +01:00
rc80211_minstrel.h mac80211/minstrel_ht: add support for using CCK rates 2013-02-13 10:56:33 +01: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 wireless: move sequence number arithmetic to ieee80211.h 2013-03-06 16:35:44 +01:00
scan.c mac80211: add radar detection command/event 2013-02-15 09:41:04 +01:00
spectmgmt.c mac80211: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
sta_info.c mac80211: stop modifying HT SMPS capability 2013-02-15 09:41:41 +01:00
sta_info.h mac80211: clean up mesh HT operation 2013-02-18 15:31:23 +01:00
status.c mac80211: mesh power save basics 2013-02-04 18:57:47 +01:00
tkip.c mac80211: use spin_lock_bh() for TKIP lock 2013-02-15 09:41:13 +01:00
tkip.h mac80211: fix TKIP races, make API easier to use 2011-07-08 11:11:19 -04:00
trace.c mac80211: trace debug messages 2012-06-24 11:33:18 +02:00
trace.h mac80211: Allow drivers to differentiate between ROC types 2013-03-06 16:35:49 +01:00
tx.c Merge remote-tracking branch 'mac80211/master' into HEAD 2013-03-06 16:33:12 +01:00
util.c mac80211: constify IE parsing 2013-02-15 09:41:39 +01:00
vht.c mac80211: support VHT capability overrides 2013-03-06 16:35:48 +01: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: mesh power save basics 2013-02-04 18:57:47 +01:00
wme.h mac80211: save wmm_acm per sdata 2012-06-20 17:35:22 +02:00
wpa.c mac80211: use spin_lock_bh() for TKIP lock 2013-02-15 09:41:13 +01:00
wpa.h mac80211: fix tx->skb NULL pointer dereference 2012-01-16 15:01:16 -05:00