usbnet: add support for some Huawei modems with cdc-ether ports

Some newer Huawei devices (T-Mobile Rocket, others) have cdc-ether
compatible ports, so recognize and expose them.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Acked-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by Dan Williams and committed by David S. Miller b3c914aa 8333a46a

+12 -2
+12 -2
drivers/net/usb/cdc_ether.c
··· 460 460 .manage_power = cdc_manage_power, 461 461 }; 462 462 463 - static const struct driver_info mbm_info = { 463 + static const struct driver_info wwan_info = { 464 464 .description = "Mobile Broadband Network Device", 465 465 .flags = FLAG_WWAN, 466 466 .bind = usbnet_cdc_bind, ··· 471 471 472 472 /*-------------------------------------------------------------------------*/ 473 473 474 + #define HUAWEI_VENDOR_ID 0x12D1 474 475 475 476 static const struct usb_device_id products [] = { 476 477 /* ··· 588 587 }, { 589 588 USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_MDLM, 590 589 USB_CDC_PROTO_NONE), 591 - .driver_info = (unsigned long)&mbm_info, 590 + .driver_info = (unsigned long)&wwan_info, 592 591 592 + }, { 593 + /* Various Huawei modems with a network port like the UMG1831 */ 594 + .match_flags = USB_DEVICE_ID_MATCH_VENDOR 595 + | USB_DEVICE_ID_MATCH_INT_INFO, 596 + .idVendor = HUAWEI_VENDOR_ID, 597 + .bInterfaceClass = USB_CLASS_COMM, 598 + .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, 599 + .bInterfaceProtocol = 255, 600 + .driver_info = (unsigned long)&wwan_info, 593 601 }, 594 602 { }, // END 595 603 };