android_kernel_oneplus_msm8998/net/mac80211
Felix Fietkau 9090d691a8 mac80211: do not call driver wake_tx_queue op during reconfig
commit 4856bfd230985e43e84c26473c91028ff0a533bd upstream.

There are several scenarios in which mac80211 can call drv_wake_tx_queue
after ieee80211_restart_hw has been called and has not yet completed.
Driver private structs are considered uninitialized until mac80211 has
uploaded the vifs, stations and keys again, so using private tx queue
data during that time is not safe.

The driver can also not rely on drv_reconfig_complete to figure out when
it is safe to accept drv_wake_tx_queue calls again, because it is only
called after all tx queues are woken again.

To fix this, bail out early in drv_wake_tx_queue if local->in_reconfig
is set.

Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-04-27 09:34:02 +02: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: RX BA support for sta max_rx_aggregation_subframes 2017-05-20 14:27:03 +02:00
agg-tx.c mac80211: pass block ack session timeout to to driver 2017-05-20 14:27:03 +02:00
cfg.c mac80211: don't initiate TDLS connection if station is not associated to AP 2019-03-23 08:44:20 +01: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.c net/mac80211/debugfs.c: prevent build failure with CONFIG_UBSAN=y 2018-01-17 09:35:25 +01:00
debugfs.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02: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
driver-ops.c mac80211: pass block ack session timeout to to driver 2017-05-20 14:27:03 +02:00
driver-ops.h mac80211: do not call driver wake_tx_queue op during reconfig 2019-04-27 09:34:02 +02: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: shorten the IBSS debug messages 2018-10-10 08:52:11 +02:00
ieee80211_i.h mac80211: Remove invalid flag operations in mesh TSF synchronization 2017-11-30 08:37:27 +00:00
iface.c mac80211: Clear beacon_int in ieee80211_do_stop 2018-12-13 09:21:37 +01:00
Kconfig mac80211: use DECLARE_EWMA 2015-08-14 17:49:53 +02:00
key.c mac80211: restrict delayed tailroom needed decrement 2018-09-26 08:35:06 +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: fix a race between restart and CSA flows 2018-10-10 08:52:11 +02:00
Makefile mac80211: remove event.c 2015-10-14 18:40:26 +02:00
mesh.c mac80211: Fix addition of mesh configuration element 2017-12-20 10:04:52 +01:00
mesh.h mac80211: Requeue work after scan complete for all VIF types. 2016-03-03 15:07:26 -08:00
mesh_hwmp.c mac80211: fix "warning: ‘target_metric’ may be used uninitialized" 2019-04-03 06:23:23 +02:00
mesh_pathtbl.c mac80211: mesh: fix call_rcu() usage 2015-11-17 15:49:25 +01:00
mesh_plink.c mac80211: Suppress NEW_PEER_CANDIDATE event if no room 2017-11-30 08:37:27 +00:00
mesh_ps.c mac80211: mesh: separate plid and aid concepts 2015-07-17 15:47:11 +02:00
mesh_sync.c mac80211: Remove invalid flag operations in mesh TSF synchronization 2017-11-30 08:37:27 +00:00
michael.c
michael.h mac80211: fix some missing includes 2014-04-09 14:49:43 +02:00
mlme.c mac80211: Fix condition validating WMM IE 2018-12-21 14:09:51 +01:00
ocb.c mac80211: move station statistics into sub-structs 2015-10-21 10:08:22 +02:00
offchannel.c mac80211: flush hw_roc_start work before cancelling the ROC 2017-10-05 09:41:44 +02:00
pm.c mac80211: flush delayed work when entering suspend 2017-03-15 09:57:14 +08:00
rate.c mac80211: further improve "no supported rates" warning 2015-11-03 10:56:42 +01:00
rate.h mac80211: deinline rate_control_rate_init, rate_control_rate_update 2015-07-17 15:50:02 +02:00
rc80211_minstrel.c mac80211: minstrel: Change expected throughput unit back to Kbps 2016-03-16 08:42:59 -07:00
rc80211_minstrel.h mac80211: add standard deviation to Minstrel stats 2015-04-01 20:44:33 +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.c mac80211: minstrel_ht: fix a logic error in RTS/CTS handling 2016-03-16 08:43:00 -07:00
rc80211_minstrel_ht.h mac80211: add max lossless throughput per rate 2015-04-01 20:44:32 +02:00
rc80211_minstrel_ht_debugfs.c mac80211: minstrel[_ht]: remove non-ascii debugfs characters 2015-09-29 15:56:47 +02:00
rx.c mac80211: fix miscounting of ttl-dropped frames 2019-03-23 08:44:19 +01:00
scan.c mac80211: Requeue work after scan complete for all VIF types. 2016-03-03 15:07:26 -08: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: fix power saving clients handling in iwlwifi 2017-10-21 17:09:04 +02:00
sta_info.h mac80211: fix fast_tx header alignment 2016-07-27 09:47:27 -07:00
status.c mac80211: ignore tx status for PS stations in ieee80211_tx_status_ext 2018-12-13 09:21:37 +01:00
tdls.c mac80211: TDLS: add proper HT-oper IE 2015-11-03 10:42:47 +01:00
tkip.c mac80211: fix checkpatch errors 2013-12-18 10:33:06 +01:00
tkip.h
trace.c mac80211: Move message tracepoints to their own header 2015-04-07 12:32:09 -04:00
trace.h mac80211: pass block ack session timeout to to driver 2017-05-20 14:27:03 +02:00
trace_msg.h mac80211: Move message tracepoints to their own header 2015-04-07 12:32:09 -04:00
tx.c mac80211: ensure that mgmt tx skbs have tailroom for encryption 2019-02-20 10:13:19 +01:00
util.c mac80211: add stations tied to AP_VLANs during hw reconfig 2018-09-05 09:18:33 +02:00
vht.c mac80211: handle width changes from opmode notification IE in beacon 2015-12-15 13:16:47 +01:00
wep.c mac80211: Add RX flag to indicate ICV stripped 2018-05-16 10:06:46 +02:00
wep.h
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: Add RX flag to indicate ICV stripped 2018-05-16 10:06:46 +02:00
wpa.h mac80111: Add BIP-GMAC-128 and BIP-GMAC-256 ciphers 2015-01-27 11:10:13 +01:00