From ba25fcc8a066ea479824477ab2b80063d003068f Mon Sep 17 00:00:00 2001 From: Alexander Egorenkov Date: Tue, 16 Mar 2010 12:44:47 +0100 Subject: [PATCH] Update WCID entry during new association properly --- rt2870.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/rt2870.c b/rt2870.c index a2ed48d..73f0d60 100644 --- a/rt2870.c +++ b/rt2870.c @@ -2402,6 +2402,7 @@ static void rt2870_newassoc(struct ieee80211_node *ni, int isnew) struct rt2870_softc_node *rni; uint16_t aid; uint8_t wcid; + uint32_t tmp; vap = ni->ni_vap; ic = vap->iv_ic; @@ -2418,8 +2419,17 @@ static void rt2870_newassoc(struct ieee80211_node *ni, int isnew) RT2870_SOFTC_LOCK(sc); - rt2870_io_mac_write_multi(sc, RT2870_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]; + + rt2870_io_mac_write(sc, RT2870_REG_WCID(wcid), tmp); + + tmp = (ni->ni_macaddr[5] << 8) | + ni->ni_macaddr[4]; + + rt2870_io_mac_write(sc, RT2870_REG_WCID(wcid) + 4, tmp); rt2870_amrr_node_init(&rvap->amrr, &sc->amrr_node[wcid], ni); -- 2.11.4.GIT