diff options
author | Xinming Hu <huxm@marvell.com> | 2016-06-16 16:22:22 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2016-06-29 18:54:00 +0300 |
commit | a9c790ba23eb3b3649f012f9633be2cb5e73e588 (patch) | |
tree | c8918b0f3ec20a55cd3b81e44a1f1d920542896c /drivers/net/wireless/marvell/mwifiex/scan.c | |
parent | 4699fc3f2dcbcce27d499343c7b85b172b17ee76 (diff) | |
download | linux-a9c790ba23eb3b3649f012f9633be2cb5e73e588.tar.xz |
mwifiex: factor out mwifiex_cancel_scan
This patch creates common function mwifiex_cancel_scan to remove
duplication of code.
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/marvell/mwifiex/scan.c')
-rw-r--r-- | drivers/net/wireless/marvell/mwifiex/scan.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c index bc5e52cebce1..e33112298fec 100644 --- a/drivers/net/wireless/marvell/mwifiex/scan.c +++ b/drivers/net/wireless/marvell/mwifiex/scan.c @@ -2001,6 +2001,32 @@ static void mwifiex_check_next_scan_command(struct mwifiex_private *priv) return; } +void mwifiex_cancel_scan(struct mwifiex_adapter *adapter) +{ + struct mwifiex_private *priv; + unsigned long cmd_flags; + int i; + + mwifiex_cancel_pending_scan_cmd(adapter); + + if (adapter->scan_processing) { + spin_lock_irqsave(&adapter->mwifiex_cmd_lock, cmd_flags); + adapter->scan_processing = false; + spin_unlock_irqrestore(&adapter->mwifiex_cmd_lock, cmd_flags); + for (i = 0; i < adapter->priv_num; i++) { + priv = adapter->priv[i]; + if (!priv) + continue; + if (priv->scan_request) { + mwifiex_dbg(adapter, INFO, + "info: aborting scan\n"); + cfg80211_scan_done(priv->scan_request, 1); + priv->scan_request = NULL; + } + } + } +} + /* * This function handles the command response of scan. * |