diff mbox series

[v5,3/3] usb: cdc-acm: Ignore Exar XR21V141X when serial driver is built

Message ID 20201122170822.21715-4-mani@kernel.org
State New
Headers show
Series Add support for MaxLinear/Exar USB to serial converters | expand

Commit Message

Manivannan Sadhasivam Nov. 22, 2020, 5:08 p.m. UTC
From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

The RTS/CTS line discipline for this device doesn't follow
the standard. So, in order to properly support TX, a separate
driver is needed.

Ensure that cdc_acm will ignore it during probe time, if the
Kernel is built with support for it.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
---
 drivers/usb/class/cdc-acm.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Johan Hovold Jan. 21, 2021, 10:23 a.m. UTC | #1
On Sun, Nov 22, 2020 at 10:38:22PM +0530, Manivannan Sadhasivam wrote:
> From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

> 

> The RTS/CTS line discipline for this device doesn't follow

> the standard. So, in order to properly support TX, a separate

> driver is needed.


This took a bit of effort to understand, but I think I know what you're
referring to now. In ACM mode the device has RTS/CTS flow control
enabled, which means TX will be disabled in case CTS isn't wired up
correctly.

It as nothing to do with line disciplines though.

> Ensure that cdc_acm will ignore it during probe time, if the

> Kernel is built with support for it.

>

> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

> Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>


> ---

>  drivers/usb/class/cdc-acm.c | 6 ++++++

>  1 file changed, 6 insertions(+)

> 

> diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c

> index 30ef946a8e1a..719829e6b6db 100644

> --- a/drivers/usb/class/cdc-acm.c

> +++ b/drivers/usb/class/cdc-acm.c

> @@ -1890,6 +1890,12 @@ 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,

> +	},

> +#endif

> +

>  	/*Samsung phone in firmware update mode */

>  	{ USB_DEVICE(0x04e8, 0x685d),

>  	.driver_info = IGNORE_DEVICE,


I've rewritten the commit message and applied this one now.

Johan
diff mbox series

Patch

diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 30ef946a8e1a..719829e6b6db 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1890,6 +1890,12 @@  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,
+	},
+#endif
+
 	/*Samsung phone in firmware update mode */
 	{ USB_DEVICE(0x04e8, 0x685d),
 	.driver_info = IGNORE_DEVICE,