[PATCH] rtl8187: fix endianness issue in rtl8225 register writing
authorMichael Wu <flamingice@sourmilk.net>
Thu, 14 Jun 2007 07:33:48 +0000 (00:33 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 10 Jul 2007 17:51:38 +0000 (13:51 -0400)
I failed to notice that a u16 was being passed to the hardware.
This fixes it.

Thanks to Kasper F. Brandt for finding this!

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rtl8187_rtl8225.c

index e25a09f..efc4120 100644 (file)
@@ -67,7 +67,7 @@ static void rtl8225_write_bitbang(struct ieee80211_hw *dev, u8 addr, u16 data)
        msleep(2);
 }
 
-static void rtl8225_write_8051(struct ieee80211_hw *dev, u8 addr, u16 data)
+static void rtl8225_write_8051(struct ieee80211_hw *dev, u8 addr, __le16 data)
 {
        struct rtl8187_priv *priv = dev->priv;
        u16 reg80, reg82, reg84;
@@ -106,7 +106,7 @@ void rtl8225_write(struct ieee80211_hw *dev, u8 addr, u16 data)
        struct rtl8187_priv *priv = dev->priv;
 
        if (priv->asic_rev)
-               rtl8225_write_8051(dev, addr, data);
+               rtl8225_write_8051(dev, addr, cpu_to_le16(data));
        else
                rtl8225_write_bitbang(dev, addr, data);
 }