sierra_net: Endianess bug fix.
authorLennart Sorensen <lsorense@csclub.uwaterloo.ca>
Fri, 7 Sep 2012 12:14:02 +0000 (12:14 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 Sep 2012 19:05:42 +0000 (15:05 -0400)
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>
drivers/net/usb/sierra_net.c

index 7be49ea60b6d8f9353720d757f47c2c61b16fc60..8e22417fa6c11b5d41845bda1ff4c84e9d369cda 100644 (file)
@@ -656,7 +656,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;