aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/iwmc3200wifi/cfg80211.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwmc3200wifi/cfg80211.c b/drivers/net/wireless/iwmc3200wifi/cfg80211.c
index a6e852f4f92c..789ef5ca88ba 100644
--- a/drivers/net/wireless/iwmc3200wifi/cfg80211.c
+++ b/drivers/net/wireless/iwmc3200wifi/cfg80211.c
@@ -326,11 +326,8 @@ static int iwm_cfg80211_change_iface(struct wiphy *wiphy,
326 326
327 iwm->umac_profile->mode = cpu_to_le32(iwm->conf.mode); 327 iwm->umac_profile->mode = cpu_to_le32(iwm->conf.mode);
328 328
329 if (iwm->umac_profile_active) { 329 if (iwm->umac_profile_active)
330 int ret = iwm_invalidate_mlme_profile(iwm); 330 iwm_invalidate_mlme_profile(iwm);
331 if (ret < 0)
332 IWM_ERR(iwm, "Couldn't invalidate profile\n");
333 }
334 331
335 return 0; 332 return 0;
336} 333}
@@ -573,6 +570,14 @@ static int iwm_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev,
573 if (!sme->ssid) 570 if (!sme->ssid)
574 return -EINVAL; 571 return -EINVAL;
575 572
573 if (iwm->umac_profile_active) {
574 ret = iwm_invalidate_mlme_profile(iwm);
575 if (ret) {
576 IWM_ERR(iwm, "Couldn't invalidate profile\n");
577 return ret;
578 }
579 }
580
576 if (chan) 581 if (chan)
577 iwm->channel = 582 iwm->channel =
578 ieee80211_frequency_to_channel(chan->center_freq); 583 ieee80211_frequency_to_channel(chan->center_freq);