summaryrefslogtreecommitdiff
path: root/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch
diff options
context:
space:
mode:
Diffstat (limited to 'multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch')
-rw-r--r--multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch
new file mode 100644
index 0000000..5f9d8f7
--- /dev/null
+++ b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch
@@ -0,0 +1,45 @@
+Index: linux-2.6.39.4/drivers/usb/class/cdc-acm.c
+===================================================================
+--- linux-2.6.39.4.orig/drivers/usb/class/cdc-acm.c 2013-02-19 09:22:57.860051682 -0600
++++ linux-2.6.39.4/drivers/usb/class/cdc-acm.c 2013-02-19 09:30:35.274209660 -0600
+@@ -963,6 +963,12 @@
+ goto skip_normal_probe;
+ }
+
++ /* ignore devices we don't want to support */
++ if (quirks == IGNORE_DEVICE) {
++ dev_dbg(&intf->dev, "Ignoring device\n");
++ return -ENODEV;
++ }
++
+ /* normal probing*/
+ if (!buffer) {
+ dev_err(&intf->dev, "Weird descriptor references\n");
+@@ -1633,6 +1639,18 @@
+ .driver_info = NO_DATA_INTERFACE,
+ },
+
++ /* Ignore Exar XR21V141X usb serial chips
++ * This elminates conflicting with the Exar vizzini driver */
++ { USB_DEVICE(0x04e2, 0x1410),
++ .driver_info = IGNORE_DEVICE,
++ },
++ { USB_DEVICE(0x04e2, 0x1412),
++ .driver_info = IGNORE_DEVICE,
++ },
++ { USB_DEVICE(0x04e2, 0x1414),
++ .driver_info = IGNORE_DEVICE,
++ },
++
+ /* control interfaces without any protocol set */
+ { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
+ USB_CDC_PROTO_NONE) },
+Index: linux-2.6.39.4/drivers/usb/class/cdc-acm.h
+===================================================================
+--- linux-2.6.39.4.orig/drivers/usb/class/cdc-acm.h 2013-02-19 09:22:54.860050647 -0600
++++ linux-2.6.39.4/drivers/usb/class/cdc-acm.h 2013-02-19 09:24:00.856126438 -0600
+@@ -138,3 +138,4 @@
+ #define NO_CAP_LINE 4
+ #define NOT_A_MODEM 8
+ #define NO_DATA_INTERFACE 16
++#define IGNORE_DEVICE 32