rum(4): do not corrupt MAC address

Don't override the NIC MAC address with an overridden MAC address for
a VAP.

Submitted by:	<s3erios@gmail.com>
Differential Revision:	https://reviews.freebsd.org/D3625
This commit is contained in:
Adrian Chadd 2015-10-03 17:18:35 +00:00
parent aa81f85365
commit 1ba67b1130
2 changed files with 5 additions and 3 deletions

View File

@ -785,8 +785,8 @@ rum_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg)
rum_enable_mrr(sc);
rum_set_txpreamble(sc);
rum_set_basicrates(sc);
IEEE80211_ADDR_COPY(ic->ic_macaddr, ni->ni_bssid);
rum_set_bssid(sc, ic->ic_macaddr);
IEEE80211_ADDR_COPY(sc->sc_bssid, ni->ni_bssid);
rum_set_bssid(sc, sc->sc_bssid);
}
if (vap->iv_opmode == IEEE80211_M_HOSTAP ||
@ -2368,7 +2368,7 @@ rum_scan_end(struct ieee80211com *ic)
RUM_LOCK(sc);
rum_enable_tsf_sync(sc);
rum_set_bssid(sc, ic->ic_macaddr);
rum_set_bssid(sc, sc->sc_bssid);
RUM_UNLOCK(sc);
}

View File

@ -137,6 +137,8 @@ struct rum_softc {
u_int sc_detached:1,
sc_running:1;
uint8_t sc_bssid[IEEE80211_ADDR_LEN];
struct {
uint8_t val;
uint8_t reg;