diff options
Diffstat (limited to 'drivers/usb/class/cdc-acm.c')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 1b68fed464cb..ed8c62b2d9d1 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -581,6 +581,13 @@ static int acm_tty_install(struct tty_driver *driver, struct tty_struct *tty) | |||
581 | if (retval) | 581 | if (retval) |
582 | goto error_init_termios; | 582 | goto error_init_termios; |
583 | 583 | ||
584 | /* | ||
585 | * Suppress initial echoing for some devices which might send data | ||
586 | * immediately after acm driver has been installed. | ||
587 | */ | ||
588 | if (acm->quirks & DISABLE_ECHO) | ||
589 | tty->termios.c_lflag &= ~ECHO; | ||
590 | |||
584 | tty->driver_data = acm; | 591 | tty->driver_data = acm; |
585 | 592 | ||
586 | return 0; | 593 | return 0; |
@@ -1657,6 +1664,9 @@ static const struct usb_device_id acm_ids[] = { | |||
1657 | { USB_DEVICE(0x0e8d, 0x0003), /* FIREFLY, MediaTek Inc; andrey.arapov@gmail.com */ | 1664 | { USB_DEVICE(0x0e8d, 0x0003), /* FIREFLY, MediaTek Inc; andrey.arapov@gmail.com */ |
1658 | .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ | 1665 | .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ |
1659 | }, | 1666 | }, |
1667 | { USB_DEVICE(0x0e8d, 0x2000), /* MediaTek Inc Preloader */ | ||
1668 | .driver_info = DISABLE_ECHO, /* DISABLE ECHO in termios flag */ | ||
1669 | }, | ||
1660 | { USB_DEVICE(0x0e8d, 0x3329), /* MediaTek Inc GPS */ | 1670 | { USB_DEVICE(0x0e8d, 0x3329), /* MediaTek Inc GPS */ |
1661 | .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ | 1671 | .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ |
1662 | }, | 1672 | }, |