summaryrefslogtreecommitdiff
path: root/drivers/staging/rtl8192e
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2013-05-29 11:12:18 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-05-30 20:46:29 +0900
commit71c8d893aa22238184eaae95663b42cb122b9553 (patch)
tree7fb9205679529d3c0a9d16339a896fac2aa31c93 /drivers/staging/rtl8192e
parent03e71d6b91d970900747cd64bbd9bbbe0e9489f8 (diff)
Staging: rtl8192e: fix an endian bug
Passing the high bits of "ratr_value" to rtl8192_config_rate() only works on little endian systems. We should be passing a u16 value. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/rtl8192e')
-rw-r--r--drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c
index a9d78e9651c6..50c7bb773984 100644
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c
@@ -2128,10 +2128,11 @@ void rtl8192_update_ratr_table(struct net_device *dev)
struct rtllib_device *ieee = priv->rtllib;
u8 *pMcsRate = ieee->dot11HTOperationalRateSet;
u32 ratr_value = 0;
+ u16 rate_config = 0;
u8 rate_index = 0;
- rtl8192_config_rate(dev, (u16 *)(&ratr_value));
- ratr_value |= (*(u16 *)(pMcsRate)) << 12;
+ rtl8192_config_rate(dev, &rate_config);
+ ratr_value = rate_config | *pMcsRate << 12;
switch (ieee->mode) {
case IEEE_A:
ratr_value &= 0x00000FF0;