aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/class/cdc-acm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/class/cdc-acm.c')
-rw-r--r--drivers/usb/class/cdc-acm.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 00b47ea24f86..0a69c0977e3f 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -546,10 +546,6 @@ static int acm_tty_open(struct tty_struct *tty, struct file *filp)
546 tty->driver_data = acm; 546 tty->driver_data = acm;
547 acm->tty = tty; 547 acm->tty = tty;
548 548
549 /* force low_latency on so that our tty_push actually forces the data through,
550 otherwise it is scheduled, and with high data rates data can get lost. */
551 tty->low_latency = 1;
552
553 if (usb_autopm_get_interface(acm->control) < 0) 549 if (usb_autopm_get_interface(acm->control) < 0)
554 goto early_bail; 550 goto early_bail;
555 else 551 else
@@ -1349,12 +1345,18 @@ static struct usb_device_id acm_ids[] = {
1349 { USB_DEVICE(0x0e8d, 0x0003), /* FIREFLY, MediaTek Inc; andrey.arapov@gmail.com */ 1345 { USB_DEVICE(0x0e8d, 0x0003), /* FIREFLY, MediaTek Inc; andrey.arapov@gmail.com */
1350 .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ 1346 .driver_info = NO_UNION_NORMAL, /* has no union descriptor */
1351 }, 1347 },
1348 { USB_DEVICE(0x0e8d, 0x3329), /* MediaTek Inc GPS */
1349 .driver_info = NO_UNION_NORMAL, /* has no union descriptor */
1350 },
1352 { USB_DEVICE(0x0482, 0x0203), /* KYOCERA AH-K3001V */ 1351 { USB_DEVICE(0x0482, 0x0203), /* KYOCERA AH-K3001V */
1353 .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ 1352 .driver_info = NO_UNION_NORMAL, /* has no union descriptor */
1354 }, 1353 },
1355 { USB_DEVICE(0x079b, 0x000f), /* BT On-Air USB MODEM */ 1354 { USB_DEVICE(0x079b, 0x000f), /* BT On-Air USB MODEM */
1356 .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ 1355 .driver_info = NO_UNION_NORMAL, /* has no union descriptor */
1357 }, 1356 },
1357 { USB_DEVICE(0x0ace, 0x1602), /* ZyDAS 56K USB MODEM */
1358 .driver_info = SINGLE_RX_URB,
1359 },
1358 { USB_DEVICE(0x0ace, 0x1608), /* ZyDAS 56K USB MODEM */ 1360 { USB_DEVICE(0x0ace, 0x1608), /* ZyDAS 56K USB MODEM */
1359 .driver_info = SINGLE_RX_URB, /* firmware bug */ 1361 .driver_info = SINGLE_RX_URB, /* firmware bug */
1360 }, 1362 },
@@ -1370,6 +1372,18 @@ static struct usb_device_id acm_ids[] = {
1370 { USB_DEVICE(0x0572, 0x1321), /* Conexant USB MODEM CX93010 */ 1372 { USB_DEVICE(0x0572, 0x1321), /* Conexant USB MODEM CX93010 */
1371 .driver_info = NO_UNION_NORMAL, /* has no union descriptor */ 1373 .driver_info = NO_UNION_NORMAL, /* has no union descriptor */
1372 }, 1374 },
1375 { USB_DEVICE(0x0572, 0x1324), /* Conexant USB MODEM RD02-D400 */
1376 .driver_info = NO_UNION_NORMAL, /* has no union descriptor */
1377 },
1378 { USB_DEVICE(0x22b8, 0x6425), /* Motorola MOTOMAGX phones */
1379 },
1380 { USB_DEVICE(0x0572, 0x1329), /* Hummingbird huc56s (Conexant) */
1381 .driver_info = NO_UNION_NORMAL, /* union descriptor misplaced on
1382 data interface instead of
1383 communications interface.
1384 Maybe we should define a new
1385 quirk for this. */
1386 },
1373 1387
1374 /* control interfaces with various AT-command sets */ 1388 /* control interfaces with various AT-command sets */
1375 { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, 1389 { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
@@ -1478,4 +1492,4 @@ module_exit(acm_exit);
1478MODULE_AUTHOR( DRIVER_AUTHOR ); 1492MODULE_AUTHOR( DRIVER_AUTHOR );
1479MODULE_DESCRIPTION( DRIVER_DESC ); 1493MODULE_DESCRIPTION( DRIVER_DESC );
1480MODULE_LICENSE("GPL"); 1494MODULE_LICENSE("GPL");
1481 1495MODULE_ALIAS_CHARDEV_MAJOR(ACM_TTY_MAJOR);