1
0
Fork 0
alistair23-linux/net/ieee80211
Daniel Drake d57336e3f2 [PATCH] softmac: make non-operational after being stopped
zd1211 with softmac and wpa_supplicant revealed an issue with softmac
and the use of workqueues. Some of the work functions actually
reschedule themselves, so this meant that there could still be
pending work after flush_scheduled_work() had been called during
ieee80211softmac_stop().

This patch introduces a "running" flag which is used to ensure that
rescheduling does not happen in this situation.

I also used this flag to ensure that softmac's hooks into ieee80211 are
non-operational once the stop operation has been started. This simply
makes softmac a little more robust, because I could crash it easily
by receiving frames in the short timeframe after shutting down softmac
and before turning off the ZD1211 radio. (ZD1211 is now fixed as well!)

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2006-05-05 16:55:22 -04:00
..
softmac [PATCH] softmac: make non-operational after being stopped 2006-05-05 16:55:22 -04:00
Kconfig [PATCH] wireless: Add softmac layer to the kernel 2006-03-22 22:16:50 -05:00
Makefile [PATCH] softmac: fix Makefiles 2006-03-22 22:16:51 -05:00
ieee80211_crypt.c [PATCH] ieee80211: Log if netif_rx() drops the packet 2006-01-27 17:08:06 -05:00
ieee80211_crypt_ccmp.c Merge branch 'upstream-fixes' 2006-03-15 17:02:08 -05:00
ieee80211_crypt_tkip.c [PATCH] ieee80211: Add TKIP crypt->build_iv 2006-01-27 17:08:07 -05:00
ieee80211_crypt_wep.c [PATCH] ieee80211: Add TKIP crypt->build_iv 2006-01-27 17:08:07 -05:00
ieee80211_geo.c [PATCH] ieee80211_geo.c: remove frivolous BUG_ON's 2006-02-27 20:14:58 -05:00
ieee80211_module.c [PATCH] ieee80211: fix sparse warning about missing "static" 2006-02-17 10:41:34 -05:00
ieee80211_rx.c [PATCH] ieee80211_rx_any: filter out packets, call ieee80211_rx or ieee80211_rx_mgt 2006-03-22 22:16:58 -05:00
ieee80211_tx.c [PATCH] ieee80211: Add TKIP crypt->build_iv 2006-01-27 17:08:07 -05:00
ieee80211_wx.c [PATCH] Minor (janitorial) change to ieee80211 2006-03-27 12:07:02 -05:00