mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
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>
This commit is contained in:
parent
03e71d6b91
commit
71c8d893aa
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user