|
@@ -2000,6 +2000,7 @@ void iwl_mac_remove_interface(struct ieee80211_hw *hw,
|
|
|
struct ieee80211_vif *vif)
|
|
|
{
|
|
|
struct iwl_priv *priv = hw->priv;
|
|
|
+ bool scan_completed = false;
|
|
|
|
|
|
IWL_DEBUG_MAC80211(priv, "enter\n");
|
|
|
|
|
@@ -2013,7 +2014,7 @@ void iwl_mac_remove_interface(struct ieee80211_hw *hw,
|
|
|
if (priv->vif == vif) {
|
|
|
priv->vif = NULL;
|
|
|
if (priv->scan_vif == vif) {
|
|
|
- ieee80211_scan_completed(priv->hw, true);
|
|
|
+ scan_completed = true;
|
|
|
priv->scan_vif = NULL;
|
|
|
priv->scan_request = NULL;
|
|
|
}
|
|
@@ -2021,6 +2022,9 @@ void iwl_mac_remove_interface(struct ieee80211_hw *hw,
|
|
|
}
|
|
|
mutex_unlock(&priv->mutex);
|
|
|
|
|
|
+ if (scan_completed)
|
|
|
+ ieee80211_scan_completed(priv->hw, true);
|
|
|
+
|
|
|
IWL_DEBUG_MAC80211(priv, "leave\n");
|
|
|
|
|
|
}
|