summaryrefslogtreecommitdiff
path: root/recipes-kernel/linux/linux-at91-5.4.199/linux-5.4-cdc-acm-ignore-exar-devices.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-at91-5.4.199/linux-5.4-cdc-acm-ignore-exar-devices.patch')
-rw-r--r--recipes-kernel/linux/linux-at91-5.4.199/linux-5.4-cdc-acm-ignore-exar-devices.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-at91-5.4.199/linux-5.4-cdc-acm-ignore-exar-devices.patch b/recipes-kernel/linux/linux-at91-5.4.199/linux-5.4-cdc-acm-ignore-exar-devices.patch
new file mode 100644
index 0000000..bda5d85
--- /dev/null
+++ b/recipes-kernel/linux/linux-at91-5.4.199/linux-5.4-cdc-acm-ignore-exar-devices.patch
@@ -0,0 +1,49 @@
+From 37e541cbd166fcfd7a736d25ced4938647c9a167 Mon Sep 17 00:00:00 2001
+From: Mykyta Dorokhin <mykyta.dorokhin@globallogic.com>
+Date: Tue, 12 Jan 2021 23:20:37 +0200
+Subject: [PATCH] linux-5.4-cdc-acm-ignore-exar-devices
+
+---
+ drivers/usb/class/cdc-acm.c | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+ Updated for 5.4.195 on 24 May 2022 by John Klug
+diff -Naru orig/drivers/usb/class/cdc-acm.c new/drivers/usb/class/cdc-acm.c
+--- orig/drivers/usb/class/cdc-acm.c 2022-05-24 13:14:11.796098096 -0500
++++ new/drivers/usb/class/cdc-acm.c 2022-05-24 13:15:08.688096765 -0500
+@@ -1186,8 +1186,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));
+
+@@ -1976,6 +1978,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) },
+--
+1.9.1
+