aboutsummaryrefslogtreecommitdiffstats
path: root/package/sierra-directip/patches
diff options
context:
space:
mode:
Diffstat (limited to 'package/sierra-directip/patches')
-rw-r--r--package/sierra-directip/patches/100-sierra_net_endian.patch22
-rw-r--r--package/sierra-directip/patches/110-drop_dhcp_requirement.patch14
2 files changed, 36 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");
diff --git a/package/sierra-directip/patches/110-drop_dhcp_requirement.patch b/package/sierra-directip/patches/110-drop_dhcp_requirement.patch
new file mode 100644
index 000000000..4c4d0ba65
--- /dev/null
+++ b/package/sierra-directip/patches/110-drop_dhcp_requirement.patch
@@ -0,0 +1,14 @@
+--- a/sierra_net.c
++++ b/sierra_net.c
+@@ -858,10 +858,7 @@ static int sierra_net_bind(struct usbnet
+ /* test whether firmware supports DHCP */
+ 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");
+- kfree(priv);
+- return -ENODEV;
++ dev_err(&dev->udev->dev, "Warning: Firmware does not have DHCP support\n");
+ }
+ /* prepare sync message from template */
+ memcpy(priv->sync_msg, sync_tmplate, sizeof(priv->sync_msg));