From 5a76ab04b165e63136b60c561c954ad03eeca7e4 Mon Sep 17 00:00:00 2001 From: Alina Friedrichsen Date: Tue, 6 Jan 2009 02:41:35 +0100 Subject: [PATCH] --- yaml --- r: 134075 b: refs/heads/master c: 0efcdfd6ed4e7ac74c45e7c3218fd1a7416fdb3f h: refs/heads/master i: 134073: bcd844bb75d4f61492020cccca48bac4f6e61fe4 134071: 06e5b0b39e817b497d6e9e5fa31456b5d0421485 v: v3 --- [refs] | 2 +- trunk/net/mac80211/mlme.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index c10c0682e3ad..ad6cdb1e7c28 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cca3e99861e883358ceb39ad17c9eaee082138a5 +refs/heads/master: 0efcdfd6ed4e7ac74c45e7c3218fd1a7416fdb3f diff --git a/trunk/net/mac80211/mlme.c b/trunk/net/mac80211/mlme.c index 12976026cc45..f80dc2535709 100644 --- a/trunk/net/mac80211/mlme.c +++ b/trunk/net/mac80211/mlme.c @@ -2548,11 +2548,16 @@ int ieee80211_sta_set_bssid(struct ieee80211_sub_if_data *sdata, u8 *bssid) { struct ieee80211_if_sta *ifsta; int res; + bool valid; ifsta = &sdata->u.sta; + valid = is_valid_ether_addr(bssid); if (memcmp(ifsta->bssid, bssid, ETH_ALEN) != 0) { - memcpy(ifsta->bssid, bssid, ETH_ALEN); + if(valid) + memcpy(ifsta->bssid, bssid, ETH_ALEN); + else + memset(ifsta->bssid, 0, ETH_ALEN); res = 0; /* * Hack! See also ieee80211_sta_set_ssid. @@ -2566,7 +2571,7 @@ int ieee80211_sta_set_bssid(struct ieee80211_sub_if_data *sdata, u8 *bssid) } } - if (is_valid_ether_addr(bssid)) + if (valid) ifsta->flags |= IEEE80211_STA_BSSID_SET; else ifsta->flags &= ~IEEE80211_STA_BSSID_SET;