diff options
Diffstat (limited to 'drivers/usb/class/cdc-acm.c')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 6e49ec6f3adc..278bf5256a95 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -949,6 +949,10 @@ static int acm_probe(struct usb_interface *intf, | |||
949 | 949 | ||
950 | /* normal quirks */ | 950 | /* normal quirks */ |
951 | quirks = (unsigned long)id->driver_info; | 951 | quirks = (unsigned long)id->driver_info; |
952 | |||
953 | if (quirks == IGNORE_DEVICE) | ||
954 | return -ENODEV; | ||
955 | |||
952 | num_rx_buf = (quirks == SINGLE_RX_URB) ? 1 : ACM_NR; | 956 | num_rx_buf = (quirks == SINGLE_RX_URB) ? 1 : ACM_NR; |
953 | 957 | ||
954 | /* handle quirks deadly to normal probing*/ | 958 | /* handle quirks deadly to normal probing*/ |
@@ -1650,6 +1654,15 @@ static const struct usb_device_id acm_ids[] = { | |||
1650 | .driver_info = NO_DATA_INTERFACE, | 1654 | .driver_info = NO_DATA_INTERFACE, |
1651 | }, | 1655 | }, |
1652 | 1656 | ||
1657 | #if IS_ENABLED(CONFIG_INPUT_IMS_PCU) | ||
1658 | { USB_DEVICE(0x04d8, 0x0082), /* Application mode */ | ||
1659 | .driver_info = IGNORE_DEVICE, | ||
1660 | }, | ||
1661 | { USB_DEVICE(0x04d8, 0x0083), /* Bootloader mode */ | ||
1662 | .driver_info = IGNORE_DEVICE, | ||
1663 | }, | ||
1664 | #endif | ||
1665 | |||
1653 | /* control interfaces without any protocol set */ | 1666 | /* control interfaces without any protocol set */ |
1654 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, | 1667 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, |
1655 | USB_CDC_PROTO_NONE) }, | 1668 | USB_CDC_PROTO_NONE) }, |