Skip to content

Commit

Permalink
[PATCH] adm8211: Improve writing of mac addrs to registers
Browse files Browse the repository at this point in the history
The mac address write is broken for big endian and the bssid write can be
simplified. This patch does both.

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Michael Wu authored and David S. Miller committed Oct 10, 2007
1 parent 2e08ac7 commit fb9bc28
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions drivers/net/wireless/adm8211.c
Original file line number Diff line number Diff line change
Expand Up @@ -1283,8 +1283,7 @@ static void adm8211_set_bssid(struct ieee80211_hw *dev, const u8 *bssid)
struct adm8211_priv *priv = dev->priv;
u32 reg;

reg = bssid[0] | (bssid[1] << 8) | (bssid[2] << 16) | (bssid[3] << 24);
ADM8211_CSR_WRITE(BSSID0, reg);
ADM8211_CSR_WRITE(BSSID0, le32_to_cpu(*(__le32 *)bssid));
reg = ADM8211_CSR_READ(ABDA1);
reg &= 0x0000ffff;
reg |= (bssid[4] << 16) | (bssid[5] << 24);
Expand Down Expand Up @@ -1414,8 +1413,8 @@ static int adm8211_add_interface(struct ieee80211_hw *dev,

ADM8211_IDLE();

ADM8211_CSR_WRITE(PAR0, *(u32 *)conf->mac_addr);
ADM8211_CSR_WRITE(PAR1, *(u16 *)(conf->mac_addr + 4));
ADM8211_CSR_WRITE(PAR0, le32_to_cpu(*(__le32 *)conf->mac_addr));
ADM8211_CSR_WRITE(PAR1, le16_to_cpu(*(__le16 *)(conf->mac_addr + 4)));

adm8211_update_mode(dev);

Expand Down

0 comments on commit fb9bc28

Please sign in to comment.