linux/net/mac80211
Eliad Peller 968a76cef3 mac80211: call drv_stop only if driver is started
If drv_start() fails during hw_restart, all the running
interfaces are being closed/stopped, which results in
drv_stop() being called, although the driver was never
started successfully.

This might cause drivers to perform operations on uninitialized
memory (as they assume it was initialized on drv_start)

Consider the local->started flag, and call the driver's stop()
op only if drv_start() succeeded before.

Move drv_start() and drv_stop() to driver-ops.c, as they are no
longer simple wrappers.

Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2015-11-03 10:41:12 +01:00
..
aes_ccm.c mac80211: Switch to new AEAD interface 2015-05-28 11:23:20 +08:00
aes_ccm.h mac80111: Add CCMP-256 cipher 2015-01-27 11:07:35 +01:00
aes_cmac.c mac80211: remove ieee80211_aes_cmac_calculate_k1_k2() 2015-08-13 11:31:45 +02:00
aes_cmac.h mac80111: Add BIP-CMAC-256 cipher 2015-01-27 11:09:13 +01:00
aes_gcm.c mac80211: Switch to new AEAD interface 2015-05-28 11:23:20 +08:00
aes_gcm.h mac80111: Add GCMP and GCMP-256 ciphers 2015-01-27 11:06:09 +01:00
aes_gmac.c mac80211: Switch to new AEAD interface 2015-05-28 11:23:20 +08:00
aes_gmac.h mac80111: Add BIP-GMAC-128 and BIP-GMAC-256 ciphers 2015-01-27 11:10:13 +01:00
agg-rx.c mac80211: allow the driver to advertise A-MSDU within A-MPDU Rx support 2015-09-22 15:21:24 +02:00
agg-tx.c mac80211: allow to transmit A-MSDU within A-MPDU 2015-09-22 15:21:23 +02:00
cfg.c mac80211: remove cfg.h 2015-10-14 18:36:43 +02:00
chan.c mac80211: upgrade BW of TDLS peers when possible 2015-07-17 15:38:12 +02:00
debug.h mac80211: 802.11p OCB mode support 2014-11-04 13:18:21 +01:00
debugfs_key.c mac80211: allow writing TX PN in debugfs 2015-09-29 15:56:50 +02:00
debugfs_key.h
debugfs_netdev.c mac80211: remove last_beacon/ave_beacon debugfs files 2015-09-22 15:21:25 +02:00
debugfs_netdev.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
debugfs_sta.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
debugfs_sta.h
debugfs.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-10-20 06:08:27 -07:00
debugfs.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
driver-ops.c mac80211: call drv_stop only if driver is started 2015-11-03 10:41:12 +01:00
driver-ops.h mac80211: call drv_stop only if driver is started 2015-11-03 10:41:12 +01:00
ethtool.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
ht.c mac80211: add VHT support for IBSS 2015-03-30 10:48:26 +02:00
ibss.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
ieee80211_i.h mac80211: move beacon_loss_count into ifmgd 2015-10-21 10:08:21 +02:00
iface.c mac80211: remove PM-QoS listener 2015-10-14 18:04:08 +02:00
Kconfig mac80211: use DECLARE_EWMA 2015-08-14 17:49:53 +02:00
key.c mac80211: remove sta_info.gtk_idx 2015-07-17 15:37:54 +02:00
key.h mac80211: remove key TX/RX counter 2015-07-17 15:38:01 +02:00
led.c mac80211: fix throughput LED trigger 2015-05-11 19:16:04 +02:00
led.h mac80211: make LED triggering depend on activation 2015-05-05 14:21:56 +02:00
main.c mac80211: use freezable workqueue for restart work 2015-11-03 10:41:01 +01:00
Makefile mac80211: remove event.c 2015-10-14 18:40:26 +02:00
mesh_hwmp.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
mesh_pathtbl.c mac80211: implement cfg80211_ops to query mesh proxy path table 2014-10-09 11:19:07 +02:00
mesh_plink.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
mesh_ps.c mac80211: mesh: separate plid and aid concepts 2015-07-17 15:47:11 +02:00
mesh_sync.c mac80211: move mesh related station fields to own struct 2015-07-17 15:38:06 +02:00
mesh.c mac80211: make ieee80211_new_mesh_header return unsigned 2015-10-05 17:54:16 +02:00
mesh.h mac80211: make ieee80211_new_mesh_header return unsigned 2015-10-05 17:54:16 +02:00
michael.c
michael.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
mlme.c mac80211: Fix local deauth while associating 2015-11-03 10:41:00 +01:00
ocb.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
offchannel.c mac80211: use bool argument to ieee80211_send_nullfunc 2015-09-29 15:56:52 +02:00
pm.c mac80211: don't tear down aggregation on suspend in case of wowlan->any 2015-09-29 15:56:47 +02:00
rate.c For the current cycle, we have the following right now: 2015-10-07 04:29:18 -07:00
rate.h mac80211: deinline rate_control_rate_init, rate_control_rate_update 2015-07-17 15:50:02 +02:00
rc80211_minstrel_debugfs.c mac80211: minstrel[_ht]: remove non-ascii debugfs characters 2015-09-29 15:56:47 +02:00
rc80211_minstrel_ht_debugfs.c mac80211: minstrel[_ht]: remove non-ascii debugfs characters 2015-09-29 15:56:47 +02:00
rc80211_minstrel_ht.c mac80211: minstrel_ht: handle peers in dynamic SMPS 2015-07-17 15:38:20 +02:00
rc80211_minstrel_ht.h mac80211: add max lossless throughput per rate 2015-04-01 20:44:32 +02:00
rc80211_minstrel.c mac80211: fix invalid read in minstrel_sort_best_tp_rates() 2015-08-13 13:52:34 +02:00
rc80211_minstrel.h mac80211: add standard deviation to Minstrel stats 2015-04-01 20:44:33 +02:00
rx.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
scan.c mac80211: remove PM-QoS listener 2015-10-14 18:04:08 +02:00
spectmgmt.c mac80211: remove unused variable in ieee80211_parse_ch_switch_ie() 2014-12-17 15:45:17 +01:00
sta_info.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
sta_info.h mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
status.c Here's another set of patches for the current cycle: 2015-10-22 07:28:41 -07:00
tdls.c For the current cycle, we have the following right now: 2015-10-07 04:29:18 -07:00
tkip.c mac80211: fix checkpatch errors 2013-12-18 10:33:06 +01:00
tkip.h mac80211: fix TKIP races, make API easier to use 2011-07-08 11:11:19 -04:00
trace_msg.h mac80211: Move message tracepoints to their own header 2015-04-07 12:32:09 -04:00
trace.c mac80211: Move message tracepoints to their own header 2015-04-07 12:32:09 -04:00
trace.h mac80211: allow null chandef in tracing 2015-11-03 10:40:59 +01:00
tx.c Here's another set of patches for the current cycle: 2015-10-22 07:28:41 -07:00
util.c mac80211: call drv_stop only if driver is started 2015-11-03 10:41:12 +01:00
vht.c mac80211: avoid VHT usage with no 80MHz chans allowed 2015-09-04 14:31:41 +02:00
wep.c mac80211: move WEP tailroom size check 2015-05-11 14:51:29 +02:00
wep.h mac80211: move RX WEP weak IV counting 2012-03-13 14:54:16 -04:00
wme.c mac80211: synchronously reserve TID per station 2014-11-19 18:45:36 +01:00
wme.h mac80211: add WMM admission control support 2014-10-22 10:42:09 +02:00
wpa.c mac80211: remove event.c 2015-10-14 18:40:26 +02:00
wpa.h mac80111: Add BIP-GMAC-128 and BIP-GMAC-256 ciphers 2015-01-27 11:10:13 +01:00