usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode
authorChris Brandt <chris.brandt@renesas.com>
Wed, 11 Nov 2020 13:12:09 +0000 (08:12 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 13 Nov 2020 14:26:49 +0000 (15:26 +0100)
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.

Cc: stable <stable@vger.kernel.org>
Acked-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Link: https://lore.kernel.org/r/20201111131209.3977903-1-chris.brandt@renesas.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/class/cdc-acm.c

index 1e756886791021328bc4be45906acfa35b38fc8e..f52f1bc0559f9d306b1c3b72b4cc86327e7e583c 100644 (file)
@@ -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 */
        },