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>
        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;
        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);
 }