qmi_wwan/cdc_ether: move Novatel E371 (1410:9011) to qmi_wwan
authorYegor Yefremov <yegorslists@googlemail.com>
Fri, 28 Mar 2014 11:07:18 +0000 (12:07 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 31 Mar 2014 20:06:11 +0000 (16:06 -0400)
This device provides QMI and ethernet functionality via a standard CDC
ethernet descriptor.  But when driven by cdc_ether, the QMI
functionality is unavailable because only cdc_ether can claim the USB
interface. Thus blacklist the device in cdc_ether and add its IDs to
qmi_wwan, which enables both QMI and ethernet simultaneously.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/cdc_ether.c
drivers/net/usb/qmi_wwan.c

index bd363b27e8540e3bfe2acc6173adcc8a1952f4b7..9ea4bfe5d31804ed7413ade40ec568a777b9739d 100644 (file)
@@ -625,6 +625,13 @@ static const struct usb_device_id  products[] = {
        .driver_info = 0,
 },
 
+/* Novatel Expedite E371 - handled by qmi_wwan */
+{
+       USB_DEVICE_AND_INTERFACE_INFO(NOVATEL_VENDOR_ID, 0x9011, USB_CLASS_COMM,
+                       USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
+       .driver_info = 0,
+},
+
 /* AnyDATA ADU960S - handled by qmi_wwan */
 {
        USB_DEVICE_AND_INTERFACE_INFO(0x16d5, 0x650a, USB_CLASS_COMM,
index 313cb6cd4848e033bab664788c24c0a88ce55996..e3458e3c44f146653048aba99295670caabd4db5 100644 (file)
@@ -500,6 +500,13 @@ static const struct usb_device_id products[] = {
                                              USB_CDC_PROTO_NONE),
                .driver_info        = (unsigned long)&qmi_wwan_info,
        },
+       {       /* Novatel Expedite E371 */
+               USB_DEVICE_AND_INTERFACE_INFO(0x1410, 0x9011,
+                                             USB_CLASS_COMM,
+                                             USB_CDC_SUBCLASS_ETHERNET,
+                                             USB_CDC_PROTO_NONE),
+               .driver_info        = (unsigned long)&qmi_wwan_info,
+       },
        {       /* Dell Wireless 5800 (Novatel E362) */
                USB_DEVICE_AND_INTERFACE_INFO(0x413C, 0x8195,
                                              USB_CLASS_COMM,