Updating libertas wireless driver to latest version.
[openwrt/openwrt.git] / package / libertas / patches / 100-compile_fix.patch
diff --git a/package/libertas/patches/100-compile_fix.patch b/package/libertas/patches/100-compile_fix.patch
new file mode 100644 (file)
index 0000000..9834414
--- /dev/null
@@ -0,0 +1,50 @@
+Index: kmod-libertas/ethtool.c
+===================================================================
+--- kmod-libertas.orig/ethtool.c       2008-01-14 22:14:06.000000000 +0000
++++ kmod-libertas/ethtool.c    2008-01-14 22:14:14.000000000 +0000
+@@ -144,16 +144,6 @@
+       lbs_deb_enter(LBS_DEB_ETHTOOL);
+ }
+-static int lbs_ethtool_get_sset_count(struct net_device * dev, int sset)
+-{
+-      switch (sset) {
+-      case ETH_SS_STATS:
+-              return MESH_STATS_NUM;
+-      default:
+-              return -EOPNOTSUPP;
+-      }
+-}
+-
+ static void lbs_ethtool_get_strings(struct net_device *dev,
+                                         u32 stringset,
+                                         u8 * s)
+@@ -221,7 +211,6 @@
+       .get_drvinfo = lbs_ethtool_get_drvinfo,
+       .get_eeprom =  lbs_ethtool_get_eeprom,
+       .get_eeprom_len = lbs_ethtool_get_eeprom_len,
+-      .get_sset_count = lbs_ethtool_get_sset_count,
+       .get_ethtool_stats = lbs_ethtool_get_stats,
+       .get_strings = lbs_ethtool_get_strings,
+       .get_wol = lbs_ethtool_get_wol,
+Index: kmod-libertas/if_usb.c
+===================================================================
+--- kmod-libertas.orig/if_usb.c        2008-01-14 22:14:57.000000000 +0000
++++ kmod-libertas/if_usb.c     2008-01-14 22:17:09.000000000 +0000
+@@ -188,14 +188,14 @@
+               endpoint = &iface_desc->endpoint[i].desc;
+               if (usb_endpoint_is_bulk_in(endpoint)) {
+                       cardp->ep_in_size = le16_to_cpu(endpoint->wMaxPacketSize);
+-                      cardp->ep_in = usb_endpoint_num(endpoint);
++                      cardp->ep_in = endpoint->bEndpointAddress;
+                       lbs_deb_usbd(&udev->dev, "in_endpoint = %d\n", cardp->ep_in);
+                       lbs_deb_usbd(&udev->dev, "Bulk in size is %d\n", cardp->ep_in_size);
+               } else if (usb_endpoint_is_bulk_out(endpoint)) {
+                       cardp->ep_out_size = le16_to_cpu(endpoint->wMaxPacketSize);
+-                      cardp->ep_out = usb_endpoint_num(endpoint);
++                      cardp->ep_out = endpoint->bEndpointAddress;
+                       lbs_deb_usbd(&udev->dev, "out_endpoint = %d\n", cardp->ep_out);
+                       lbs_deb_usbd(&udev->dev, "Bulk out size is %d\n", cardp->ep_out_size);