From d0e92fda9d72f28c6fbcf1fb68f779f90398b13e Mon Sep 17 00:00:00 2001 From: Alexander Egorenkov Date: Tue, 16 Mar 2010 12:40:45 +0100 Subject: [PATCH] Update WCID entry during new association properly --- rt2860.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/rt2860.c b/rt2860.c index 3ee5916..7558cb3 100644 --- a/rt2860.c +++ b/rt2860.c @@ -2672,6 +2672,7 @@ static void rt2860_newassoc(struct ieee80211_node *ni, int isnew) struct rt2860_softc_node *rni; uint16_t aid; uint8_t wcid; + uint32_t tmp; vap = ni->ni_vap; ic = vap->iv_ic; @@ -2686,8 +2687,17 @@ static void rt2860_newassoc(struct ieee80211_node *ni, int isnew) rni->staid = rt2860_staid_alloc(sc, aid); wcid = rni->staid; - rt2860_io_mac_write_multi(sc, RT2860_REG_WCID(wcid), - ni->ni_macaddr, IEEE80211_ADDR_LEN); + tmp = (ni->ni_macaddr[3] << 24) | + (ni->ni_macaddr[2] << 16) | + (ni->ni_macaddr[1] << 8) | + ni->ni_macaddr[0]; + + rt2860_io_mac_write(sc, RT2860_REG_WCID(wcid), tmp); + + tmp = (ni->ni_macaddr[5] << 8) | + ni->ni_macaddr[4]; + + rt2860_io_mac_write(sc, RT2860_REG_WCID(wcid) + 4, tmp); rt2860_amrr_node_init(&rvap->amrr, &sc->amrr_node[wcid], ni); -- 2.11.4.GIT