android_kernel_xiaomi_sm8350/net/mac80211
Lennert Buytenhek 678f415fdc mac80211: flush workqueue before calling driver ->stop() method
Since commit "mwl8k: handle station database update for AP's sta entry
via ->sta_notify()", mwl8k every now and then gets a command timeout
when ifconfig'ing a STA interface down.  This turns out to be due to
mwl8k_stop() being called while the work queue item that was scheduled
by mwl8k_sta_notify() to remove the STA entry for the associated AP is
still queued, and the former disables interrupts so that when the
latter eventually runs, a command completion interrupt is never seen.

Fix this by changing ieee80211_stop_device() so that the workqueue is
flushed before drv_stop() is called, instead of doing it the other way
around as is done now.  (As ->stop() is allowed to sleep, there isn't
any reason for drivers to queue work from within it.)

Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-01-12 14:20:56 -05:00
..
aes_ccm.c
aes_ccm.h
aes_cmac.c
aes_cmac.h
agg-rx.c mac80211: trace interface name 2009-12-21 18:38:54 -05:00
agg-tx.c mac80211: quit addba_resp_timer if Tx BA session is torn down 2010-01-12 13:50:08 -05:00
cfg.c mac80211: allow station updates on ap interfaces for vlan stations 2010-01-12 14:02:07 -05:00
cfg.h
debugfs_key.c mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
debugfs_key.h
debugfs_netdev.c cfg80211/mac80211: Use more generic bitrate mask for rate control 2010-01-12 13:50:11 -05:00
debugfs_netdev.h mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
debugfs_sta.c mac80211: only bother printing highest data rate on debugfs if its set 2009-12-22 13:56:02 -05:00
debugfs_sta.h
debugfs.c mac80211: make software rate control optional 2009-11-18 17:09:24 -05:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
driver-ops.h mac80211: Add new callback set_coverage_class 2010-01-12 13:50:07 -05:00
driver-trace.c mac80211: fix sparse warnings/errors 2009-08-04 16:43:25 -04:00
driver-trace.h mac80211: Add new callback set_coverage_class 2010-01-12 13:50:07 -05:00
event.c cfg80211: use proper allocation flags 2009-07-10 15:01:49 -04:00
ht.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2009-12-28 15:09:11 -05:00
ibss.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2009-12-30 15:25:08 -05:00
ieee80211_i.h cfg80211/mac80211: Use more generic bitrate mask for rate control 2010-01-12 13:50:11 -05:00
iface.c cfg80211/mac80211: Use more generic bitrate mask for rate control 2010-01-12 13:50:11 -05:00
Kconfig mac80211: remove payload alignment warning 2009-12-21 18:56:09 -05:00
key.c mac80211: add ieee80211_sdata_running 2009-12-28 16:54:49 -05:00
key.h mac80211 : fix a race with update_tkip_key 2009-12-22 13:31:14 -05:00
led.c
led.h
main.c mac80211: No need to include WEXT headers here 2010-01-05 17:13:13 -05:00
Makefile mac80211: Generalize off-channel operation helpers from scan code 2009-12-28 16:55:01 -05:00
mesh_hwmp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2009-12-28 15:09:11 -05:00
mesh_pathtbl.c mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
mesh_plink.c mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
mesh.c mac80211: add ieee80211_sdata_running 2009-12-28 16:54:49 -05:00
mesh.h mac80211: Revert 'Use correct sign for mesh active path refresh' 2009-12-10 16:12:52 -05:00
michael.c
michael.h
mlme.c net/mac80211/mlme.c: Remove unnecessary semicolons 2010-01-12 14:20:55 -05:00
offchannel.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-01-06 17:26:13 -05:00
pm.c mac80211: remove struct ieee80211_if_init_conf 2009-12-28 16:55:07 -05:00
rate.c cfg80211/mac80211: Use more generic bitrate mask for rate control 2010-01-12 13:50:11 -05:00
rate.h cfg80211/mac80211: Use more generic bitrate mask for rate control 2010-01-12 13:50:11 -05:00
rc80211_minstrel_debugfs.c net: file_operations should be const 2009-09-02 01:03:53 -07:00
rc80211_minstrel.c rc80211_minstrel: fix contention window calculation 2009-09-23 11:35:42 -04:00
rc80211_minstrel.h mac80211: Remove unnused throughput field from minstrel_rate. 2009-08-28 14:40:34 -04:00
rc80211_pid_algo.c rc80211_pid_algo.c: remove unused variable declaration 2009-08-20 11:36:03 -04:00
rc80211_pid_debugfs.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
rc80211_pid.h
rx.c mac80211: use nullfunc frames for 4-addr sta detection 2010-01-12 14:02:06 -05:00
scan.c mac80211: fix a few work bugs 2010-01-12 13:51:28 -05:00
spectmgmt.c mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
sta_info.c mac80211: allow station updates on ap interfaces for vlan stations 2010-01-12 14:02:07 -05:00
sta_info.h mac80211: allow station updates on ap interfaces for vlan stations 2010-01-12 14:02:07 -05:00
status.c mac80211: add ieee80211_sdata_running 2009-12-28 16:54:49 -05:00
tkip.c mac80211 : fix a race with update_tkip_key 2009-12-22 13:31:14 -05:00
tkip.h
tx.c mac80211: do not transmit frames on unconfigured 4-addr vlan interfaces 2010-01-12 14:02:08 -05:00
util.c mac80211: flush workqueue before calling driver ->stop() method 2010-01-12 14:20:56 -05:00
wep.c mac80211: trim RX data 2009-11-18 17:09:17 -05:00
wep.h cfg80211: rework key operation 2009-07-24 15:05:09 -04:00
wme.c mac80211: fix-up build breakage in 2.6.33 2010-01-06 15:35:49 -05:00
wme.h mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
work.c mac80211: fix a few work bugs 2010-01-12 13:51:28 -05:00
wpa.c mac80211: trim RX data 2009-11-18 17:09:17 -05:00
wpa.h