diff options
author | John Klug <john.klug@multitech.com> | 2019-01-21 12:56:01 -0600 |
---|---|---|
committer | John Klug <john.klug@multitech.com> | 2019-01-21 12:56:01 -0600 |
commit | 25708466f544c600a9daa1c6967aad30365b73ae (patch) | |
tree | b45a3355646a8521c2864fe0c7f29e61a024a76b /recipes-kernel | |
parent | 3580f690881aee976a10399cdf641f7d75f46bd6 (diff) | |
download | meta-multitech-25708466f544c600a9daa1c6967aad30365b73ae.tar.gz meta-multitech-25708466f544c600a9daa1c6967aad30365b73ae.tar.bz2 meta-multitech-25708466f544c600a9daa1c6967aad30365b73ae.zip |
Put back Vizzini driver and install the kernel patch
Diffstat (limited to 'recipes-kernel')
-rw-r--r-- | recipes-kernel/linux/linux-at91-4.9.87/linux-4.9-cdc-acm-ignore-exar-devices.patch | 36 | ||||
-rw-r--r-- | recipes-kernel/linux/linux-at91_4.9.87.bb | 1 |
2 files changed, 37 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) }, diff --git a/recipes-kernel/linux/linux-at91_4.9.87.bb b/recipes-kernel/linux/linux-at91_4.9.87.bb index adbe4d9..a6bdc4f 100644 --- a/recipes-kernel/linux/linux-at91_4.9.87.bb +++ b/recipes-kernel/linux/linux-at91_4.9.87.bb @@ -49,6 +49,7 @@ SRC_URI_append_mtcdt = "\ file://linux-4.9-add-num_accessory_ports-config-option.patch \ file://950-0090-OF-DT-Overlay-configfs-interface.patch \ file://linux-4.9-spidev_squack.patch \ + file://linux-4.9-cdc-acm-ignore-exar-devices.patch \ " SRC_URI_append_mtrv1 = "\ ${COMMON_PATCHES} \ |