196d77d49d870f0e23fcd88445cfc365e7977c61
[openwrt.git] / package / system / sierra-directip / patches / 100-sierra_net_endian.patch
1 --- a/sierra_net.c
2 +++ b/sierra_net.c
3 @@ -840,8 +840,8 @@ static int sierra_net_bind(struct usbnet
4         init_timer(&priv->sync_timer);
5         /* verify fw attributes */
6         status = sierra_net_get_fw_attr(dev, &fwattr);
7 -       dev_dbg(&dev->udev->dev, "Fw attr: %x\n", fwattr); 
8 -       if (status == sizeof(fwattr) && (fwattr & SWI_GET_FW_ATTR_APM)) {
9 +       dev_dbg(&dev->udev->dev, "Fw attr: %x\n", cpu_to_le16(fwattr));
10 +       if (status == sizeof(fwattr) && (cpu_to_le16(fwattr) & SWI_GET_FW_ATTR_APM)) {
11  /******************************************************************************* 
12   * If you want the default /sys/bus/usb/devices/.../.../power/level to be forced
13   * to auto, the following needs to be compiled in.
14 @@ -856,7 +856,7 @@ static int sierra_net_bind(struct usbnet
15                 usb_disable_autosuspend(dev->udev);
16         }
17         /* test whether firmware supports DHCP */
18 -       if (!(status == sizeof(fwattr) && (fwattr & SWI_GET_FW_ATTR_MASK))) {
19 +       if (!(status == sizeof(fwattr) && (cpu_to_le16(fwattr) & SWI_GET_FW_ATTR_MASK))) {
20                 /* found incompatible firmware version */
21                 dev_err(&dev->udev->dev, "Incompatible driver and firmware"
22                         " versions\n");