Index: ar5210.c =================================================================== --- ar5210.c (revision 2102) +++ ar5210.c (revision 2172) @@ -512,8 +512,8 @@ /* * Set PCU and BCR registers */ - bcopy(&(hal->ah_sta_id[0]), &low_id, 4); - bcopy(&(hal->ah_sta_id[4]), &high_id, 2); + low_id = le32_to_cpu(*(__le32 *)hal->ah_sta_id); + high_id = le16_to_cpu(*(__le16 *)(hal->ah_sta_id + 4)); AR5K_REG_WRITE(AR5K_AR5210_STA_ID0, low_id); AR5K_REG_WRITE(AR5K_AR5210_STA_ID1, pcu_reg | high_id); AR5K_REG_WRITE(AR5K_AR5210_BCR, beacon_reg); @@ -1538,9 +1538,8 @@ /* Set new station ID */ bcopy(mac, hal->ah_sta_id, IEEE80211_ADDR_LEN); - bcopy(mac, &low_id, 4); - bcopy(mac + 4, &high_id, 2); - high_id = 0x0000ffff & high_id; + low_id = le32_to_cpu(*(__le32 *)mac); + high_id = le16_to_cpu(*(__le16 *)(mac + 4)); AR5K_REG_WRITE(AR5K_AR5210_STA_ID0, low_id); AR5K_REG_WRITE(AR5K_AR5210_STA_ID1, high_id); @@ -1608,8 +1607,8 @@ /* * Set BSSID which triggers the "SME Join" operation */ - bcopy(bssid, &low_id, 4); - bcopy(bssid + 4, &high_id, 2); + low_id = le32_to_cpu(*(__le32 *)bssid); + high_id = le16_to_cpu(*(__le16 *)(bssid + 4)); AR5K_REG_WRITE(AR5K_AR5210_BSS_ID0, low_id); AR5K_REG_WRITE(AR5K_AR5210_BSS_ID1, high_id | ((assoc_id & 0x3fff) << AR5K_AR5210_BSS_ID1_AID_S)); @@ -2009,8 +2008,8 @@ /* MAC may be NULL if it's a broadcast key */ mac_v = mac == NULL ? etherbroadcastaddr : mac; - bcopy(mac_v, &low_id, 4); - bcopy(mac_v + 4, &high_id, 2); + low_id = le32_to_cpu(*(__le32 *)mac_v); + high_id = le16_to_cpu(*(__le16 *)(mac_v + 4)); high_id |= AR5K_AR5210_KEYTABLE_VALID; AR5K_REG_WRITE(AR5K_AR5210_KEYTABLE_MAC0(entry), low_id); Index: ar5211.c =================================================================== --- ar5211.c (revision 2102) +++ ar5211.c (revision 2172) @@ -714,8 +714,8 @@ /* * Set PCU registers */ - bcopy(&(hal->ah_sta_id[0]), &low_id, 4); - bcopy(&(hal->ah_sta_id[4]), &high_id, 2); + low_id = le32_to_cpu(*(__le32 *)hal->ah_sta_id); + high_id = le16_to_cpu(*(__le16 *)(hal->ah_sta_id + 4)); AR5K_REG_WRITE(AR5K_AR5211_STA_ID0, low_id); AR5K_REG_WRITE(AR5K_AR5211_STA_ID1, pcu_reg | high_id); @@ -1635,9 +1635,8 @@ /* Set new station ID */ bcopy(mac, hal->ah_sta_id, IEEE80211_ADDR_LEN); - bcopy(mac, &low_id, 4); - bcopy(mac + 4, &high_id, 2); - high_id = 0x0000ffff & high_id; + low_id = le32_to_cpu(*(__le32 *)mac); + high_id = le16_to_cpu(*(__le16 *)(mac + 4)); AR5K_REG_WRITE(AR5K_AR5211_STA_ID0, low_id); AR5K_REG_WRITE(AR5K_AR5211_STA_ID1, high_id); @@ -1712,8 +1711,8 @@ /* * Set BSSID which triggers the "SME Join" operation */ - bcopy(bssid, &low_id, 4); - bcopy(bssid + 4, &high_id, 2); + low_id = le32_to_cpu(*(__le32 *)bssid); + high_id = le16_to_cpu(*(__le16 *)(bssid + 4)); AR5K_REG_WRITE(AR5K_AR5211_BSS_ID0, low_id); AR5K_REG_WRITE(AR5K_AR5211_BSS_ID1, high_id | ((assoc_id & 0x3fff) << AR5K_AR5211_BSS_ID1_AID_S)); @@ -2116,8 +2115,8 @@ /* MAC may be NULL if it's a broadcast key */ mac_v = mac == NULL ? etherbroadcastaddr : mac; - bcopy(mac_v, &low_id, 4); - bcopy(mac_v + 4, &high_id, 2); + low_id = le32_to_cpu(*(__le32 *)mac_v); + high_id = le16_to_cpu(*(__le16 *)(mac_v + 4)); high_id |= AR5K_AR5211_KEYTABLE_VALID; AR5K_REG_WRITE(AR5K_AR5211_KEYTABLE_MAC0(entry), low_id); Index: ar5212.c =================================================================== --- ar5212.c (revision 2102) +++ ar5212.c (revision 2172) @@ -900,8 +900,8 @@ /* * Set PCU registers */ - bcopy(&(hal->ah_sta_id[0]), &low_id, 4); - bcopy(&(hal->ah_sta_id[4]), &high_id, 2); + low_id = le32_to_cpu(*(__le32 *)hal->ah_sta_id); + high_id = le16_to_cpu(*(__le16 *)(hal->ah_sta_id + 4)); AR5K_REG_WRITE(AR5K_AR5212_STA_ID0, low_id); AR5K_REG_WRITE(AR5K_AR5212_STA_ID1, pcu_reg | high_id); @@ -1997,9 +1997,8 @@ /* Set new station ID */ bcopy(mac, hal->ah_sta_id, IEEE80211_ADDR_LEN); - bcopy(mac, &low_id, 4); - bcopy(mac + 4, &high_id, 2); - high_id = 0x0000ffff & high_id; + low_id = le32_to_cpu(*(__le32 *)mac); + high_id = le16_to_cpu(*(__le16 *)(mac + 4)); AR5K_REG_WRITE(AR5K_AR5212_STA_ID0, low_id); AR5K_REG_WRITE(AR5K_AR5212_STA_ID1, high_id); @@ -2081,8 +2080,8 @@ /* * Set BSSID which triggers the "SME Join" operation */ - bcopy(bssid, &low_id, 4); - bcopy(bssid + 4, &high_id, 2); + low_id = le32_to_cpu(*(__le32 *)bssid); + high_id = le16_to_cpu(*(__le16 *)(bssid + 4)); AR5K_REG_WRITE(AR5K_AR5212_BSS_ID0, low_id); AR5K_REG_WRITE(AR5K_AR5212_BSS_ID1, high_id | ((assoc_id & 0x3fff) << AR5K_AR5212_BSS_ID1_AID_S)); @@ -2110,11 +2109,9 @@ AR5K_TRACE; - bcopy(mask, &low_id, 4); - bcopy(mask + 4, &high_id, 2); + low_id = le32_to_cpu(*(__le32 *)mask); + high_id = le16_to_cpu(*(__le16 *)(mask + 4)); - high_id = 0x0000ffff & high_id; - AR5K_REG_WRITE(AR5K_AR5212_BSS_IDM0, low_id); AR5K_REG_WRITE(AR5K_AR5212_BSS_IDM1, high_id); @@ -2562,8 +2559,8 @@ /* MAC may be NULL if it's a broadcast key */ mac_v = mac == NULL ? etherbroadcastaddr : mac; - bcopy(mac_v, &low_id, 4); - bcopy(mac_v + 4, &high_id, 2); + low_id = le32_to_cpu(*(__le32 *)mac_v); + high_id = le16_to_cpu(*(__le16 *)(mac_v + 4)); high_id |= AR5K_AR5212_KEYTABLE_VALID; AR5K_REG_WRITE(AR5K_AR5212_KEYTABLE_MAC0(entry), low_id);