Root/package/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");
23

Archive Download this file



interactive