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.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 26ca4f910cb0..fa4e23930614 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -428,7 +428,8 @@ static void acm_read_bulk_callback(struct urb *urb)
428 set_bit(rb->index, &acm->read_urbs_free); 428 set_bit(rb->index, &acm->read_urbs_free);
429 dev_dbg(&acm->data->dev, "%s - non-zero urb status: %d\n", 429 dev_dbg(&acm->data->dev, "%s - non-zero urb status: %d\n",
430 __func__, status); 430 __func__, status);
431 return; 431 if ((status != -ENOENT) || (urb->actual_length == 0))
432 return;
432 } 433 }
433 434
434 usb_mark_last_busy(acm->dev); 435 usb_mark_last_busy(acm->dev);
@@ -1404,6 +1405,8 @@ made_compressed_probe:
1404 usb_sndbulkpipe(usb_dev, epwrite->bEndpointAddress), 1405 usb_sndbulkpipe(usb_dev, epwrite->bEndpointAddress),
1405 NULL, acm->writesize, acm_write_bulk, snd); 1406 NULL, acm->writesize, acm_write_bulk, snd);
1406 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;
1407 snd->instance = acm; 1410 snd->instance = acm;
1408 } 1411 }
1409 1412
@@ -1838,6 +1841,11 @@ static const struct usb_device_id acm_ids[] = {
1838 }, 1841 },
1839#endif 1842#endif
1840 1843
1844 /*Samsung phone in firmware update mode */
1845 { USB_DEVICE(0x04e8, 0x685d),
1846 .driver_info = IGNORE_DEVICE,
1847 },
1848
1841 /* Exclude Infineon Flash Loader utility */ 1849 /* Exclude Infineon Flash Loader utility */
1842 { USB_DEVICE(0x058b, 0x0041), 1850 { USB_DEVICE(0x058b, 0x0041),
1843 .driver_info = IGNORE_DEVICE, 1851 .driver_info = IGNORE_DEVICE,
@@ -1861,6 +1869,10 @@ static const struct usb_device_id acm_ids[] = {
1861 { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, 1869 { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
1862 USB_CDC_ACM_PROTO_AT_CDMA) }, 1870 USB_CDC_ACM_PROTO_AT_CDMA) },
1863 1871
1872 { USB_DEVICE(0x1519, 0x0452), /* Intel 7260 modem */
1873 .driver_info = SEND_ZERO_PACKET,
1874 },
1875
1864 { } 1876 { }
1865}; 1877};
1866 1878