aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Sorensen <lsorense@csclub.uwaterloo.ca>2012-09-07 12:14:02 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-13 05:28:06 +0900
commit1af3bea6c3e3afbc033c2ab5917430d5192c84a3 (patch)
treebe3e1891d00fae9e027ee3c1c4bf3ab328be04aa
parent3f99feef88eb867056bd4459e4cf68da33af8861 (diff)
sierra_net: Endianess bug fix.
[ Upstream commit 2120c52da6fe741454a60644018ad2a6abd957ac ] I discovered I couldn't get sierra_net to work on a powerpc. Turns out the firmware attribute check assumes the system is little endian and hence fails because the attributes is a 16 bit value. Signed-off-by: Len Sorensen <lsorense@csclub.uwaterloo.ca> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/usb/sierra_net.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/usb/sierra_net.c b/drivers/net/usb/sierra_net.c
index 864448b7612..e7732508b8f 100644
--- a/drivers/net/usb/sierra_net.c
+++ b/drivers/net/usb/sierra_net.c
@@ -678,7 +678,7 @@ static int sierra_net_get_fw_attr(struct usbnet *dev, u16 *datap)
return -EIO;
}
- *datap = *attrdata;
+ *datap = le16_to_cpu(*attrdata);
kfree(attrdata);
return result;