summaryrefslogtreecommitdiffstats
path: root/package/sierra-directip/patches
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-10-27 20:29:05 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-10-27 20:29:05 +0000
commit572aafcdcfafa8a540d0128908dd8d2ed156b547 (patch)
tree7c7fb769d12778e765485fd10838cd5bae971bb5 /package/sierra-directip/patches
parent6f48b8ea556c7da4ed75cb95571c02582771fae2 (diff)
add sierra-directip, a package based on the latest DirectIP capable sierra wireless drivers + some fixes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28635 3c298f89-4303-0410-b956-a3cf2f4a3e73
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));