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
aes_ccm.h
aes_cmac.c
aes_cmac.h
aes_gcm.c
aes_gcm.h
aes_gmac.c
aes_gmac.h
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
debug.h
debugfs.c net/mac80211/debugfs.c: prevent build failure with CONFIG_UBSAN=y 2018-01-17 09:35:25 +01:00
debugfs.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c
debugfs_netdev.h
debugfs_sta.c
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
ht.c
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
key.c mac80211: restrict delayed tailroom needed decrement 2018-09-26 08:35:06 +02:00
key.h
led.c
led.h
main.c mac80211: fix a race between restart and CSA flows 2018-10-10 08:52:11 +02:00
Makefile
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
mesh_sync.c mac80211: Remove invalid flag operations in mesh TSF synchronization 2017-11-30 08:37:27 +00:00
michael.c
michael.h
mlme.c mac80211: Fix condition validating WMM IE 2018-12-21 14:09:51 +01:00
ocb.c
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
rc80211_minstrel.c mac80211: minstrel: Change expected throughput unit back to Kbps 2016-03-16 08:42:59 -07:00
rc80211_minstrel.h
rc80211_minstrel_debugfs.c
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
rc80211_minstrel_ht_debugfs.c
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
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
tkip.h
trace.c
trace.h mac80211: pass block ack session timeout to to driver 2017-05-20 14:27:03 +02:00
trace_msg.h
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
wme.h
wpa.c mac80211: Add RX flag to indicate ICV stripped 2018-05-16 10:06:46 +02:00
wpa.h