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 | }, |
