aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/linux/files/usb-gadget-ether-compat.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/files/usb-gadget-ether-compat.patch')
-rw-r--r--recipes/linux/files/usb-gadget-ether-compat.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/recipes/linux/files/usb-gadget-ether-compat.patch b/recipes/linux/files/usb-gadget-ether-compat.patch
new file mode 100644
index 0000000000..9e336cfa3c
--- /dev/null
+++ b/recipes/linux/files/usb-gadget-ether-compat.patch
@@ -0,0 +1,30 @@
+--- kernel/drivers/usb/gadget/ether.c 2005-04-24 12:40:08.867411535 +0200
++++ /tmp/ether.c 2005-04-24 12:39:02.119093498 +0200
+@@ -231,6 +231,16 @@
+ MODULE_PARM(host_addr, "s");
+ MODULE_PARM_DESC(host_addr, "Host Ethernet Address");
+
++#ifdef CONFIG_USB_ETH_RNDIS
++/* setting it to 1 disables the RNDIS extension,
++ * needed to make g_ether compatible with usbnet from kernel < 2.6.10:
++ * - simple vendor/product
++ * - just the CDC interface
++ */
++static u8 __initdata compat_mode;
++MODULE_PARM(compat_mode, "b");
++MODULE_PARM_DESC(compat_mode, "non-zero value reverts to traditional usbnet compatibility (RNDIS disabled)");
++#endif
+
+ /*-------------------------------------------------------------------------*/
+
+@@ -2336,6 +2346,10 @@
+ #endif
+ #ifndef CONFIG_USB_ETH_RNDIS
+ rndis = 0;
++#else
++ if (compat_mode) {
++ rndis = 0;
++ }
+ #endif
+
+ /* Because most host side USB stacks handle CDC Ethernet, that