diff options
Diffstat (limited to 'package/sierra-directip/patches/100-sierra_net_endian.patch')
-rw-r--r-- | package/sierra-directip/patches/100-sierra_net_endian.patch | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/package/sierra-directip/patches/100-sierra_net_endian.patch b/package/sierra-directip/patches/100-sierra_net_endian.patch new file mode 100644 index 000000000..196d77d49 --- /dev/null +++ b/package/sierra-directip/patches/100-sierra_net_endian.patch @@ -0,0 +1,22 @@ +--- a/sierra_net.c ++++ b/sierra_net.c +@@ -840,8 +840,8 @@ static int sierra_net_bind(struct usbnet + init_timer(&priv->sync_timer); + /* verify fw attributes */ + status = sierra_net_get_fw_attr(dev, &fwattr); +- dev_dbg(&dev->udev->dev, "Fw attr: %x\n", fwattr); +- if (status == sizeof(fwattr) && (fwattr & SWI_GET_FW_ATTR_APM)) { ++ dev_dbg(&dev->udev->dev, "Fw attr: %x\n", cpu_to_le16(fwattr)); ++ if (status == sizeof(fwattr) && (cpu_to_le16(fwattr) & SWI_GET_FW_ATTR_APM)) { + /******************************************************************************* + * If you want the default /sys/bus/usb/devices/.../.../power/level to be forced + * to auto, the following needs to be compiled in. +@@ -856,7 +856,7 @@ static int sierra_net_bind(struct usbnet + usb_disable_autosuspend(dev->udev); + } + /* test whether firmware supports DHCP */ +- if (!(status == sizeof(fwattr) && (fwattr & SWI_GET_FW_ATTR_MASK))) { ++ if (!(status == sizeof(fwattr) && (cpu_to_le16(fwattr) & SWI_GET_FW_ATTR_MASK))) { + /* found incompatible firmware version */ + dev_err(&dev->udev->dev, "Incompatible driver and firmware" + " versions\n"); |