Commit 7b5939ba591e9affbe4f336935b0985fd250a2b3

Authored by Yegor Yefremov
Committed by David S. Miller
1 parent fea1829f9b

qmi_wwan/cdc_ether: move Novatel E371 (1410:9011) to qmi_wwan

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>

Showing 2 changed files with 14 additions and 0 deletions Side-by-side Diff

drivers/net/usb/cdc_ether.c
... ... @@ -625,6 +625,13 @@
625 625 .driver_info = 0,
626 626 },
627 627  
  628 +/* Novatel Expedite E371 - handled by qmi_wwan */
  629 +{
  630 + USB_DEVICE_AND_INTERFACE_INFO(NOVATEL_VENDOR_ID, 0x9011, USB_CLASS_COMM,
  631 + USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
  632 + .driver_info = 0,
  633 +},
  634 +
628 635 /* AnyDATA ADU960S - handled by qmi_wwan */
629 636 {
630 637 USB_DEVICE_AND_INTERFACE_INFO(0x16d5, 0x650a, USB_CLASS_COMM,
drivers/net/usb/qmi_wwan.c
... ... @@ -500,6 +500,13 @@
500 500 USB_CDC_PROTO_NONE),
501 501 .driver_info = (unsigned long)&qmi_wwan_info,
502 502 },
  503 + { /* Novatel Expedite E371 */
  504 + USB_DEVICE_AND_INTERFACE_INFO(0x1410, 0x9011,
  505 + USB_CLASS_COMM,
  506 + USB_CDC_SUBCLASS_ETHERNET,
  507 + USB_CDC_PROTO_NONE),
  508 + .driver_info = (unsigned long)&qmi_wwan_info,
  509 + },
503 510 { /* Dell Wireless 5800 (Novatel E362) */
504 511 USB_DEVICE_AND_INTERFACE_INFO(0x413C, 0x8195,
505 512 USB_CLASS_COMM,