Re: [PATCH v2 7/7] USB: cdc-acm: add other non-standard xr_serial models to ignore list

From: Johan Hovold
Date: Tue Mar 30 2021 - 11:15:36 EST


On Wed, Mar 24, 2021 at 08:41:11AM +0100, Mauro Carvalho Chehab wrote:
> Now that the xr_serial got support for other models, add their
> USB IDs as well, as those devices won't work with the standard
> CDC driver.

As far as I understand these devices should work also with the standard
class driver, but the problem is that your development board is broken
in that CTS isn't wired up properly so that TX is stalled (I even
verified that in the schematics).

Sure, there are other features available in custom-driver mode, but
still funny (sad?) if all that would really have been needed was a tiny
bit of led. :)

I kept this commit but updated the commit message and cleaned up the
entries below somewhat.

> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
> ---
> drivers/usb/class/cdc-acm.c | 17 ++++++++++++++---
> 1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
> index 39ddb5585ded..839b80093478 100644
> --- a/drivers/usb/class/cdc-acm.c
> +++ b/drivers/usb/class/cdc-acm.c
> @@ -1902,9 +1902,20 @@ static const struct usb_device_id acm_ids[] = {
> #endif
>
> #if IS_ENABLED(CONFIG_USB_SERIAL_XR)
> - { USB_DEVICE(0x04e2, 0x1410), /* Ignore XR21V141X USB to Serial converter */
> - .driver_info = IGNORE_DEVICE,
> - },
> + /* Ignore MaxLinear/Exar USB UARTs and USB UART bridges */
> + { USB_DEVICE(0x04e2, 0x1400), .driver_info = IGNORE_DEVICE,},
> + { USB_DEVICE(0x04e2, 0x1401), .driver_info = IGNORE_DEVICE,},
> + { USB_DEVICE(0x04e2, 0x1402), .driver_info = IGNORE_DEVICE,},
> + { USB_DEVICE(0x04e2, 0x1403), .driver_info = IGNORE_DEVICE,},
> +
> + { USB_DEVICE(0x04e2, 0x1410), .driver_info = IGNORE_DEVICE,},
> + { USB_DEVICE(0x04e2, 0x1411), .driver_info = IGNORE_DEVICE,},
> + { USB_DEVICE(0x04e2, 0x1412), .driver_info = IGNORE_DEVICE,},
> + { USB_DEVICE(0x04e2, 0x1414), .driver_info = IGNORE_DEVICE,},
> +
> + { USB_DEVICE(0x04e2, 0x1420), .driver_info = IGNORE_DEVICE,},
> + { USB_DEVICE(0x04e2, 0x1422), .driver_info = IGNORE_DEVICE,},
> + { USB_DEVICE(0x04e2, 0x1424), .driver_info = IGNORE_DEVICE,},
> #endif
>
> /*Samsung phone in firmware update mode */

Johan