diff options
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 6 | ||||
-rw-r--r-- | drivers/usb/class/cdc-acm.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 8cd193bbd044..e4c70dce3e7c 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -1405,6 +1405,8 @@ made_compressed_probe: | |||
1405 | usb_sndbulkpipe(usb_dev, epwrite->bEndpointAddress), | 1405 | usb_sndbulkpipe(usb_dev, epwrite->bEndpointAddress), |
1406 | NULL, acm->writesize, acm_write_bulk, snd); | 1406 | NULL, acm->writesize, acm_write_bulk, snd); |
1407 | snd->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; | 1407 | snd->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; |
1408 | if (quirks & SEND_ZERO_PACKET) | ||
1409 | snd->urb->transfer_flags |= URB_ZERO_PACKET; | ||
1408 | snd->instance = acm; | 1410 | snd->instance = acm; |
1409 | } | 1411 | } |
1410 | 1412 | ||
@@ -1862,6 +1864,10 @@ static const struct usb_device_id acm_ids[] = { | |||
1862 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, | 1864 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, |
1863 | USB_CDC_ACM_PROTO_AT_CDMA) }, | 1865 | USB_CDC_ACM_PROTO_AT_CDMA) }, |
1864 | 1866 | ||
1867 | { USB_DEVICE(0x1519, 0x0452), /* Intel 7260 modem */ | ||
1868 | .driver_info = SEND_ZERO_PACKET, | ||
1869 | }, | ||
1870 | |||
1865 | { } | 1871 | { } |
1866 | }; | 1872 | }; |
1867 | 1873 | ||
diff --git a/drivers/usb/class/cdc-acm.h b/drivers/usb/class/cdc-acm.h index dd9af38e7cda..ccfaba9ab4e4 100644 --- a/drivers/usb/class/cdc-acm.h +++ b/drivers/usb/class/cdc-acm.h | |||
@@ -134,3 +134,4 @@ struct acm { | |||
134 | #define IGNORE_DEVICE BIT(5) | 134 | #define IGNORE_DEVICE BIT(5) |
135 | #define QUIRK_CONTROL_LINE_STATE BIT(6) | 135 | #define QUIRK_CONTROL_LINE_STATE BIT(6) |
136 | #define CLEAR_HALT_CONDITIONS BIT(7) | 136 | #define CLEAR_HALT_CONDITIONS BIT(7) |
137 | #define SEND_ZERO_PACKET BIT(8) | ||