diff options
author | John Klug <john.klug@multitech.com> | 2020-11-11 16:17:52 -0600 |
---|---|---|
committer | John Klug <john.klug@multitech.com> | 2020-11-11 16:17:52 -0600 |
commit | 4bb6f26b05450777d14aa96e10783066c2503dc2 (patch) | |
tree | 3ed6c4bb86736d28926fd37a3c2b4eb81de44c82 /recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-cdc-acm-ignore-exar-devices.patch | |
download | meta-multitech-atmel-4bb6f26b05450777d14aa96e10783066c2503dc2.tar.gz meta-multitech-atmel-4bb6f26b05450777d14aa96e10783066c2503dc2.tar.bz2 meta-multitech-atmel-4bb6f26b05450777d14aa96e10783066c2503dc2.zip |
Diffstat (limited to 'recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-cdc-acm-ignore-exar-devices.patch')
-rw-r--r-- | recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-cdc-acm-ignore-exar-devices.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-cdc-acm-ignore-exar-devices.patch b/recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-cdc-acm-ignore-exar-devices.patch new file mode 100644 index 0000000..90af4de --- /dev/null +++ b/recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-cdc-acm-ignore-exar-devices.patch @@ -0,0 +1,36 @@ +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) }, |