aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorXinming Hu <huxm@marvell.com>2015-12-14 04:15:07 -0800
committerKalle Valo <kvalo@codeaurora.org>2015-12-30 16:57:58 +0200
commitabffd274a243c5e5e72a39148c9dd36b26f7c6b7 (patch)
tree0a983149b07ea1389804ab31e98c6ad6e2b7302b /drivers/net/wireless
parentmwifiex: increase supported wowlan pattern length (diff)
downloadlinux-dev-abffd274a243c5e5e72a39148c9dd36b26f7c6b7.tar.xz
linux-dev-abffd274a243c5e5e72a39148c9dd36b26f7c6b7.zip
mwifiex: abort cac in del_station() handler
When hostapd is killed with Ctrl+C before cac get completed, stop_ap handler will not be called, thus priv->wdev.cac_started flag remains set. Hostapd restart attempt will be failed in this case with device busy error. This patch aborts cac in del_station handler to handle this corner case. Signed-off-by: Xinming Hu <huxm@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/marvell/mwifiex/cfg80211.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index 0aab9354ab5b..f7c26d6bca28 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -1708,6 +1708,11 @@ mwifiex_cfg80211_del_station(struct wiphy *wiphy, struct net_device *dev,
u8 deauth_mac[ETH_ALEN];
unsigned long flags;
+ if (!priv->bss_started && priv->wdev.cac_started) {
+ mwifiex_dbg(priv->adapter, INFO, "%s: abort CAC!\n", __func__);
+ mwifiex_abort_cac(priv);
+ }
+
if (list_empty(&priv->sta_list) || !priv->bss_started)
return 0;