USB: cdc-acm - blacklist IMS PCU device
The IMS PCU (Passenger Control Unit) device used custom protocol over serial line, so it is presenting itself as CDC ACM device. Now that we have proper in-kernel driver for it we need to black-list the device in cdc-acm driver. Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
@@ -949,6 +949,10 @@ static int acm_probe(struct usb_interface *intf,
|
||||
|
||||
/* normal quirks */
|
||||
quirks = (unsigned long)id->driver_info;
|
||||
|
||||
if (quirks == IGNORE_DEVICE)
|
||||
return -ENODEV;
|
||||
|
||||
num_rx_buf = (quirks == SINGLE_RX_URB) ? 1 : ACM_NR;
|
||||
|
||||
/* handle quirks deadly to normal probing*/
|
||||
@@ -1650,6 +1654,15 @@ static const struct usb_device_id acm_ids[] = {
|
||||
.driver_info = NO_DATA_INTERFACE,
|
||||
},
|
||||
|
||||
#if IS_ENABLED(CONFIG_INPUT_IMS_PCU)
|
||||
{ USB_DEVICE(0x04d8, 0x0082), /* Application mode */
|
||||
.driver_info = IGNORE_DEVICE,
|
||||
},
|
||||
{ USB_DEVICE(0x04d8, 0x0083), /* Bootloader mode */
|
||||
.driver_info = IGNORE_DEVICE,
|
||||
},
|
||||
#endif
|
||||
|
||||
/* control interfaces without any protocol set */
|
||||
{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
|
||||
USB_CDC_PROTO_NONE) },
|
||||
|
Reference in New Issue
Block a user