diff options
Diffstat (limited to 'drivers/usb/class/cdc-acm.c')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 24 |
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); | |||
1478 | MODULE_AUTHOR( DRIVER_AUTHOR ); | 1492 | MODULE_AUTHOR( DRIVER_AUTHOR ); |
1479 | MODULE_DESCRIPTION( DRIVER_DESC ); | 1493 | MODULE_DESCRIPTION( DRIVER_DESC ); |
1480 | MODULE_LICENSE("GPL"); | 1494 | MODULE_LICENSE("GPL"); |
1481 | 1495 | MODULE_ALIAS_CHARDEV_MAJOR(ACM_TTY_MAJOR); | |