diff options
Diffstat (limited to 'drivers/usb/class/cdc-acm.c')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 58754b508a0f..395a347f2ebb 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -853,7 +853,7 @@ static int acm_probe(struct usb_interface *intf, | |||
853 | u8 ac_management_function = 0; | 853 | u8 ac_management_function = 0; |
854 | u8 call_management_function = 0; | 854 | u8 call_management_function = 0; |
855 | int call_interface_num = -1; | 855 | int call_interface_num = -1; |
856 | int data_interface_num; | 856 | int data_interface_num = -1; |
857 | unsigned long quirks; | 857 | unsigned long quirks; |
858 | int num_rx_buf; | 858 | int num_rx_buf; |
859 | int i; | 859 | int i; |
@@ -937,7 +937,11 @@ next_desc: | |||
937 | if (!union_header) { | 937 | if (!union_header) { |
938 | if (call_interface_num > 0) { | 938 | if (call_interface_num > 0) { |
939 | dev_dbg(&intf->dev, "No union descriptor, using call management descriptor\n"); | 939 | dev_dbg(&intf->dev, "No union descriptor, using call management descriptor\n"); |
940 | data_interface = usb_ifnum_to_if(usb_dev, (data_interface_num = call_interface_num)); | 940 | /* quirks for Droids MuIn LCD */ |
941 | if (quirks & NO_DATA_INTERFACE) | ||
942 | data_interface = usb_ifnum_to_if(usb_dev, 0); | ||
943 | else | ||
944 | data_interface = usb_ifnum_to_if(usb_dev, (data_interface_num = call_interface_num)); | ||
941 | control_interface = intf; | 945 | control_interface = intf; |
942 | } else { | 946 | } else { |
943 | if (intf->cur_altsetting->desc.bNumEndpoints != 3) { | 947 | if (intf->cur_altsetting->desc.bNumEndpoints != 3) { |
@@ -1535,6 +1539,11 @@ static const struct usb_device_id acm_ids[] = { | |||
1535 | .driver_info = NOT_A_MODEM, | 1539 | .driver_info = NOT_A_MODEM, |
1536 | }, | 1540 | }, |
1537 | 1541 | ||
1542 | /* Support for Droids MuIn LCD */ | ||
1543 | { USB_DEVICE(0x04d8, 0x000b), | ||
1544 | .driver_info = NO_DATA_INTERFACE, | ||
1545 | }, | ||
1546 | |||
1538 | /* control interfaces without any protocol set */ | 1547 | /* control interfaces without any protocol set */ |
1539 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, | 1548 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, |
1540 | USB_CDC_PROTO_NONE) }, | 1549 | USB_CDC_PROTO_NONE) }, |