diff options
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/cfg80211.c | 15 |
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); |