diff -Naru linux-4.9.87.orig/drivers/usb/class/cdc-acm.c linux-4.9.87/drivers/usb/class/cdc-acm.c --- linux-4.9.87.orig/drivers/usb/class/cdc-acm.c 2019-01-21 09:33:23.938147201 -0600 +++ linux-4.9.87/drivers/usb/class/cdc-acm.c 2019-01-21 09:40:50.374133985 -0600 @@ -1161,8 +1161,10 @@ /* normal quirks */ quirks = (unsigned long)id->driver_info; - if (quirks == IGNORE_DEVICE) + if (quirks == IGNORE_DEVICE) { + dev_dbg(&intf->dev, "Ignoring device\n"); return -ENODEV; + } memset(&h, 0x00, sizeof(struct usb_cdc_parsed_header)); @@ -1877,6 +1879,20 @@ .driver_info = IGNORE_DEVICE, }, + /* Ignore Exar XR21V141X usb serial chips + * This elminates conflicting with the Exar vizzini driver. + * The ACM driver cannot use features in the Exar chip, + * such as setting the baud rate. */ + {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) },