diff options
| author | Dan Williams <dcbw@redhat.com> | 2011-04-27 05:54:28 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2011-04-29 15:40:20 -0400 |
| commit | b3c914aa84f4e4bbb3efc8f41c359d96e5e932d2 (patch) | |
| tree | 5b500f869ec00167f87a197900c9fddfe14ec362 | |
| parent | 8333a46ad3877485e4d67ef499c6dda36bfd1f9a (diff) | |
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>
| -rw-r--r-- | drivers/net/usb/cdc_ether.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index 341f7056a800..a301479ecc60 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c | |||
| @@ -460,7 +460,7 @@ static const struct driver_info cdc_info = { | |||
| 460 | .manage_power = cdc_manage_power, | 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 | .description = "Mobile Broadband Network Device", | 464 | .description = "Mobile Broadband Network Device", |
| 465 | .flags = FLAG_WWAN, | 465 | .flags = FLAG_WWAN, |
| 466 | .bind = usbnet_cdc_bind, | 466 | .bind = usbnet_cdc_bind, |
| @@ -471,6 +471,7 @@ static const struct driver_info mbm_info = { | |||
| 471 | 471 | ||
| 472 | /*-------------------------------------------------------------------------*/ | 472 | /*-------------------------------------------------------------------------*/ |
| 473 | 473 | ||
| 474 | #define HUAWEI_VENDOR_ID 0x12D1 | ||
| 474 | 475 | ||
| 475 | static const struct usb_device_id products [] = { | 476 | static const struct usb_device_id products [] = { |
| 476 | /* | 477 | /* |
| @@ -587,8 +588,17 @@ static const struct usb_device_id products [] = { | |||
| 587 | }, { | 588 | }, { |
| 588 | USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_MDLM, | 589 | USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_MDLM, |
| 589 | USB_CDC_PROTO_NONE), | 590 | USB_CDC_PROTO_NONE), |
| 590 | .driver_info = (unsigned long)&mbm_info, | 591 | .driver_info = (unsigned long)&wwan_info, |
| 591 | 592 | ||
| 593 | }, { | ||
| 594 | /* Various Huawei modems with a network port like the UMG1831 */ | ||
| 595 | .match_flags = USB_DEVICE_ID_MATCH_VENDOR | ||
| 596 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
| 597 | .idVendor = HUAWEI_VENDOR_ID, | ||
| 598 | .bInterfaceClass = USB_CLASS_COMM, | ||
| 599 | .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, | ||
| 600 | .bInterfaceProtocol = 255, | ||
| 601 | .driver_info = (unsigned long)&wwan_info, | ||
| 592 | }, | 602 | }, |
| 593 | { }, // END | 603 | { }, // END |
| 594 | }; | 604 | }; |
