On Thu, Sep 09, 2010 at 08:50:03AM -0700, Guy, Wey-Yi W wrote: > --- a/drivers/net/wireless/iwlwifi/iwl-core.c > +++ b/drivers/net/wireless/iwlwifi/iwl-core.c > @@ -2041,7 +2041,6 @@ void iwl_mac_remove_interface(struct ieee80211_hw *hw, > { > struct iwl_priv *priv = hw->priv; > struct iwl_rxon_context *ctx = iwl_rxon_ctx_from_vif(vif); > - bool scan_completed = false; > > IWL_DEBUG_MAC80211(priv, "enter\n"); > > @@ -2050,15 +2049,10 @@ void iwl_mac_remove_interface(struct ieee80211_hw *hw, > WARN_ON(ctx->vif != vif); > ctx->vif = NULL; > > - iwl_scan_cancel_timeout(priv, 100); > + if (priv->scan_vif == vif) > + iwl_scan_cancel_timeout(priv, 100); > iwl_set_mode(priv, vif); > > - if (priv->scan_vif == vif) { > - scan_completed = true; > - priv->scan_vif = NULL; > - priv->scan_request = NULL; > - } > - [snip] > Not sure, do we need to check vif match? I think it is. We should not cancel scan requested by vif0 if vif1 is removing. Previously we also check vif match before complete scan in mac. Stanislaw -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html