diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index e4f3f7aa5e6f..1e97f9b63abf 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -3270,11 +3270,6 @@ static void ieee80211_rx_mgmt_probe_resp(struct ieee80211_sub_if_data *sdata, if (baselen > len) return; - ieee802_11_parse_elems(mgmt->u.probe_resp.variable, len - baselen, - false, &elems); - - ieee80211_rx_bss_info(sdata, mgmt, len, rx_status, &elems); - if (ifmgd->associated && ether_addr_equal(mgmt->bssid, ifmgd->associated->bssid)) ieee80211_reset_ap_probe(sdata); @@ -3288,6 +3283,11 @@ static void ieee80211_rx_mgmt_probe_resp(struct ieee80211_sub_if_data *sdata, ifmgd->auth_data->timeout_started = true; run_again(sdata, ifmgd->auth_data->timeout); } + + ieee802_11_parse_elems(mgmt->u.probe_resp.variable, len - baselen, + false, &elems); + + ieee80211_rx_bss_info(sdata, mgmt, len, rx_status, &elems); } /*