mac80211: clear bssid on auth/assoc failure
ifmgd->bssid wasn't cleared properly in some auth/assoc failure cases, causing mac80211 and the low-level driver to go out of sync. Clear ifmgd->bssid on failure, and notify the driver. Cc: stable@kernel.org # 3.4+ Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
27f011243a
commit
3d2abdfdf1
@ -3248,6 +3248,8 @@ int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata,
|
||||
goto out_unlock;
|
||||
|
||||
err_clear:
|
||||
memset(ifmgd->bssid, 0, ETH_ALEN);
|
||||
ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID);
|
||||
ifmgd->auth_data = NULL;
|
||||
err_free:
|
||||
kfree(auth_data);
|
||||
@ -3439,6 +3441,8 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata,
|
||||
err = 0;
|
||||
goto out;
|
||||
err_clear:
|
||||
memset(ifmgd->bssid, 0, ETH_ALEN);
|
||||
ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID);
|
||||
ifmgd->assoc_data = NULL;
|
||||
err_free:
|
||||
kfree(assoc_data);
|
||||
|
Loading…
Reference in New Issue
Block a user