aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-scan.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c
index ac510840519c..8d7fa59364fe 100644
--- a/drivers/net/wireless/iwlwifi/iwl-scan.c
+++ b/drivers/net/wireless/iwlwifi/iwl-scan.c
@@ -508,6 +508,7 @@ static void iwl_bg_scan_completed(struct work_struct *work)
508 struct iwl_priv *priv = 508 struct iwl_priv *priv =
509 container_of(work, struct iwl_priv, scan_completed); 509 container_of(work, struct iwl_priv, scan_completed);
510 bool internal = false; 510 bool internal = false;
511 bool scan_completed = false;
511 512
512 IWL_DEBUG_SCAN(priv, "SCAN complete scan\n"); 513 IWL_DEBUG_SCAN(priv, "SCAN complete scan\n");
513 514
@@ -518,7 +519,8 @@ static void iwl_bg_scan_completed(struct work_struct *work)
518 priv->is_internal_short_scan = false; 519 priv->is_internal_short_scan = false;
519 IWL_DEBUG_SCAN(priv, "internal short scan completed\n"); 520 IWL_DEBUG_SCAN(priv, "internal short scan completed\n");
520 internal = true; 521 internal = true;
521 } else { 522 } else if (priv->scan_request) {
523 scan_completed = true;
522 priv->scan_request = NULL; 524 priv->scan_request = NULL;
523 priv->scan_vif = NULL; 525 priv->scan_vif = NULL;
524 } 526 }
@@ -549,7 +551,7 @@ static void iwl_bg_scan_completed(struct work_struct *work)
549 * into driver again into functions that will attempt to take 551 * into driver again into functions that will attempt to take
550 * mutex. 552 * mutex.
551 */ 553 */
552 if (!internal) 554 if (scan_completed)
553 ieee80211_scan_completed(priv->hw, false); 555 ieee80211_scan_completed(priv->hw, false);
554} 556}
555 557