diff mbox series

usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode

Message ID 20201111131209.3977903-1-chris.brandt@renesas.com
State New
Headers show
Series usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode | expand

Commit Message

Chris Brandt Nov. 11, 2020, 1:12 p.m. UTC
Renesas R-Car and RZ/G SoCs have a firmware download mode over USB.
However, on reset a banner string is transmitted out which is not expected
to be echoed back and will corrupt the protocol.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Cc: stable <stable@vger.kernel.org>
---
 drivers/usb/class/cdc-acm.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Oliver Neukum Nov. 12, 2020, 11:41 a.m. UTC | #1
Am Mittwoch, den 11.11.2020, 08:12 -0500 schrieb Chris Brandt:
> Renesas R-Car and RZ/G SoCs have a firmware download mode over USB.

> However, on reset a banner string is transmitted out which is not expected

> to be echoed back and will corrupt the protocol.

> 

> Signed-off-by: Chris Brandt <chris.brandt@renesas.com>

> Cc: stable <stable@vger.kernel.org>

Acked-by: Oliver Neukum <oneukum@suse.com>
diff mbox series

Patch

diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 1e7568867910..f52f1bc0559f 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1693,6 +1693,15 @@  static const struct usb_device_id acm_ids[] = {
 	{ USB_DEVICE(0x0870, 0x0001), /* Metricom GS Modem */
 	.driver_info = NO_UNION_NORMAL, /* has no union descriptor */
 	},
+	{ USB_DEVICE(0x045b, 0x023c),	/* Renesas USB Download mode */
+	.driver_info = DISABLE_ECHO,	/* Don't echo banner */
+	},
+	{ USB_DEVICE(0x045b, 0x0248),	/* Renesas USB Download mode */
+	.driver_info = DISABLE_ECHO,	/* Don't echo banner */
+	},
+	{ USB_DEVICE(0x045b, 0x024D),	/* Renesas USB Download mode */
+	.driver_info = DISABLE_ECHO,	/* Don't echo banner */
+	},
 	{ USB_DEVICE(0x0e8d, 0x0003), /* FIREFLY, MediaTek Inc; andrey.arapov@gmail.com */
 	.driver_info = NO_UNION_NORMAL, /* has no union descriptor */
 	},