diff options
Diffstat (limited to 'multitech/recipes/linux')
-rw-r--r-- | multitech/recipes/linux/linux-2.6.39.4/mtocgd3/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch | 45 | ||||
-rw-r--r-- | multitech/recipes/linux/linux_2.6.39.4.bb | 3 |
2 files changed, 47 insertions, 1 deletions
diff --git a/multitech/recipes/linux/linux-2.6.39.4/mtocgd3/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch b/multitech/recipes/linux/linux-2.6.39.4/mtocgd3/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.4/mtocgd3/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 diff --git a/multitech/recipes/linux/linux_2.6.39.4.bb b/multitech/recipes/linux/linux_2.6.39.4.bb index 2939bd9..fa39c26 100644 --- a/multitech/recipes/linux/linux_2.6.39.4.bb +++ b/multitech/recipes/linux/linux_2.6.39.4.bb @@ -4,7 +4,7 @@ require recipes/linux/linux.inc SRC_URI = " \ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;name=kernel \ - " + " # 2.6.39-at91 patches from ftp://ftp.linux4sam.org/pub/linux/2.6.39-at91 AT91SAM9X5_PATCHES = " \ @@ -153,6 +153,7 @@ SRC_URI_append_mtocgd3 = " \ file://linux-2.6.35.14-option-zte.patch \ file://linux-2.6.39.4-option-telit.patch \ file://linux-2.6.38-sierra-1.7.40.patch \ + file://linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch \ " SRC_URI_append_mt100eocg-pcie-dk = "file://defconfig \ |