diff options
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/cfg.c | 6 | ||||
-rw-r--r-- | net/mac80211/mlme.c | 7 |
2 files changed, 6 insertions, 7 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index 0f29cd0580c9..e6d8860f26f2 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
@@ -1256,6 +1256,12 @@ static int ieee80211_assoc(struct wiphy *wiphy, struct net_device *dev, | |||
1256 | sdata->u.mgd.flags &= ~IEEE80211_STA_MFP_ENABLED; | 1256 | sdata->u.mgd.flags &= ~IEEE80211_STA_MFP_ENABLED; |
1257 | } | 1257 | } |
1258 | 1258 | ||
1259 | if (req->prev_bssid) { | ||
1260 | sdata->u.mgd.flags |= IEEE80211_STA_PREV_BSSID_SET; | ||
1261 | memcpy(sdata->u.mgd.prev_bssid, req->prev_bssid, ETH_ALEN); | ||
1262 | } else | ||
1263 | sdata->u.mgd.flags &= ~IEEE80211_STA_PREV_BSSID_SET; | ||
1264 | |||
1259 | if (req->crypto.control_port) | 1265 | if (req->crypto.control_port) |
1260 | sdata->u.mgd.flags |= IEEE80211_STA_CONTROL_PORT; | 1266 | sdata->u.mgd.flags |= IEEE80211_STA_CONTROL_PORT; |
1261 | else | 1267 | else |
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index aa1829ae431d..24486455e505 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -879,9 +879,6 @@ static void ieee80211_set_associated(struct ieee80211_sub_if_data *sdata, | |||
879 | ieee80211_rx_bss_put(local, bss); | 879 | ieee80211_rx_bss_put(local, bss); |
880 | } | 880 | } |
881 | 881 | ||
882 | ifmgd->flags |= IEEE80211_STA_PREV_BSSID_SET; | ||
883 | memcpy(ifmgd->prev_bssid, sdata->u.mgd.bssid, ETH_ALEN); | ||
884 | |||
885 | ifmgd->last_probe = jiffies; | 882 | ifmgd->last_probe = jiffies; |
886 | ieee80211_led_assoc(local, 1); | 883 | ieee80211_led_assoc(local, 1); |
887 | 884 | ||
@@ -1470,10 +1467,6 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata, | |||
1470 | if (status_code != WLAN_STATUS_SUCCESS) { | 1467 | if (status_code != WLAN_STATUS_SUCCESS) { |
1471 | printk(KERN_DEBUG "%s: AP denied association (code=%d)\n", | 1468 | printk(KERN_DEBUG "%s: AP denied association (code=%d)\n", |
1472 | sdata->dev->name, status_code); | 1469 | sdata->dev->name, status_code); |
1473 | /* if this was a reassociation, ensure we try a "full" | ||
1474 | * association next time. This works around some broken APs | ||
1475 | * which do not correctly reject reassociation requests. */ | ||
1476 | ifmgd->flags &= ~IEEE80211_STA_PREV_BSSID_SET; | ||
1477 | cfg80211_send_rx_assoc(sdata->dev, (u8 *) mgmt, len, | 1470 | cfg80211_send_rx_assoc(sdata->dev, (u8 *) mgmt, len, |
1478 | GFP_KERNEL); | 1471 | GFP_KERNEL); |
1479 | /* Wait for SME to decide what to do next */ | 1472 | /* Wait for SME to decide what to do next */ |