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