diff options
Diffstat (limited to 'net/ieee80211/softmac/ieee80211softmac_io.c')
-rw-r--r-- | net/ieee80211/softmac/ieee80211softmac_io.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/net/ieee80211/softmac/ieee80211softmac_io.c b/net/ieee80211/softmac/ieee80211softmac_io.c index 82bfddbf33a2..b96931001b43 100644 --- a/net/ieee80211/softmac/ieee80211softmac_io.c +++ b/net/ieee80211/softmac/ieee80211softmac_io.c | |||
@@ -304,7 +304,7 @@ ieee80211softmac_auth(struct ieee80211_auth **pkt, | |||
304 | 2 + /* Auth Transaction Seq */ | 304 | 2 + /* Auth Transaction Seq */ |
305 | 2 + /* Status Code */ | 305 | 2 + /* Status Code */ |
306 | /* Challenge Text IE */ | 306 | /* Challenge Text IE */ |
307 | is_shared_response ? 0 : 1 + 1 + net->challenge_len | 307 | (is_shared_response ? 1 + 1 + net->challenge_len : 0) |
308 | ); | 308 | ); |
309 | if (unlikely((*pkt) == NULL)) | 309 | if (unlikely((*pkt) == NULL)) |
310 | return 0; | 310 | return 0; |
@@ -475,8 +475,13 @@ int ieee80211softmac_handle_beacon(struct net_device *dev, | |||
475 | { | 475 | { |
476 | struct ieee80211softmac_device *mac = ieee80211_priv(dev); | 476 | struct ieee80211softmac_device *mac = ieee80211_priv(dev); |
477 | 477 | ||
478 | if (mac->associated && memcmp(network->bssid, mac->associnfo.bssid, ETH_ALEN) == 0) | 478 | /* This might race, but we don't really care and it's not worth |
479 | ieee80211softmac_process_erp(mac, network->erp_value); | 479 | * adding heavyweight locking in this fastpath. |
480 | */ | ||
481 | if (mac->associnfo.associated) { | ||
482 | if (memcmp(network->bssid, mac->associnfo.bssid, ETH_ALEN) == 0) | ||
483 | ieee80211softmac_process_erp(mac, network->erp_value); | ||
484 | } | ||
480 | 485 | ||
481 | return 0; | 486 | return 0; |
482 | } | 487 | } |