diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-scan.c')
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-scan.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c index 3b0bee331a33..c89365e2ca58 100644 --- a/drivers/net/wireless/iwlwifi/iwl-scan.c +++ b/drivers/net/wireless/iwlwifi/iwl-scan.c | |||
| @@ -896,6 +896,13 @@ static void iwl_bg_request_scan(struct work_struct *data) | |||
| 896 | return; | 896 | return; |
| 897 | 897 | ||
| 898 | done: | 898 | done: |
| 899 | /* Cannot perform scan. Make sure we clear scanning | ||
| 900 | * bits from status so next scan request can be performed. | ||
| 901 | * If we don't clear scanning status bit here all next scan | ||
| 902 | * will fail | ||
| 903 | */ | ||
| 904 | clear_bit(STATUS_SCAN_HW, &priv->status); | ||
| 905 | clear_bit(STATUS_SCANNING, &priv->status); | ||
| 899 | /* inform mac80211 scan aborted */ | 906 | /* inform mac80211 scan aborted */ |
| 900 | queue_work(priv->workqueue, &priv->scan_completed); | 907 | queue_work(priv->workqueue, &priv->scan_completed); |
| 901 | mutex_unlock(&priv->mutex); | 908 | mutex_unlock(&priv->mutex); |
