diff options
author | Andrew Bird (Sphere Systems) <ajb@spheresystems.co.uk> | 2012-05-18 23:56:07 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-05-19 18:47:48 -0400 |
commit | 68d8318bfc81ebd83e568b2a17b3bca5eec123f5 (patch) | |
tree | 00d3744c8361082d6b625e1c5f8ceeeefc368cf1 /drivers/net/usb/cdc_ether.c | |
parent | ec16439e173aaf56f62bd8e175e976fbd452497b (diff) |
net: cdc_ether: Add ZTE WWAN matches before generic Ethernet
Some ZTE WWAN devices have generic CDC Ether descriptors. Add those
into the whitelist so that we get FLAG_WWAN on the interface
Signed-off-by: Andrew Bird <ajb@spheresystems.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/usb/cdc_ether.c')
-rw-r--r-- | drivers/net/usb/cdc_ether.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index 425e201f597c..fffee6aee8bb 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c | |||
@@ -486,6 +486,7 @@ static const struct driver_info wwan_info = { | |||
486 | 486 | ||
487 | #define HUAWEI_VENDOR_ID 0x12D1 | 487 | #define HUAWEI_VENDOR_ID 0x12D1 |
488 | #define NOVATEL_VENDOR_ID 0x1410 | 488 | #define NOVATEL_VENDOR_ID 0x1410 |
489 | #define ZTE_VENDOR_ID 0x19D2 | ||
489 | 490 | ||
490 | static const struct usb_device_id products [] = { | 491 | static const struct usb_device_id products [] = { |
491 | /* | 492 | /* |
@@ -618,6 +619,61 @@ static const struct usb_device_id products [] = { | |||
618 | .bInterfaceProtocol = USB_CDC_PROTO_NONE, | 619 | .bInterfaceProtocol = USB_CDC_PROTO_NONE, |
619 | .driver_info = (unsigned long)&wwan_info, | 620 | .driver_info = (unsigned long)&wwan_info, |
620 | }, { | 621 | }, { |
622 | /* ZTE (Vodafone) K3805-Z */ | ||
623 | .match_flags = USB_DEVICE_ID_MATCH_VENDOR | ||
624 | | USB_DEVICE_ID_MATCH_PRODUCT | ||
625 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
626 | .idVendor = ZTE_VENDOR_ID, | ||
627 | .idProduct = 0x1003, | ||
628 | .bInterfaceClass = USB_CLASS_COMM, | ||
629 | .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, | ||
630 | .bInterfaceProtocol = USB_CDC_PROTO_NONE, | ||
631 | .driver_info = (unsigned long)&wwan_info, | ||
632 | }, { | ||
633 | /* ZTE (Vodafone) K3806-Z */ | ||
634 | .match_flags = USB_DEVICE_ID_MATCH_VENDOR | ||
635 | | USB_DEVICE_ID_MATCH_PRODUCT | ||
636 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
637 | .idVendor = ZTE_VENDOR_ID, | ||
638 | .idProduct = 0x1015, | ||
639 | .bInterfaceClass = USB_CLASS_COMM, | ||
640 | .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, | ||
641 | .bInterfaceProtocol = USB_CDC_PROTO_NONE, | ||
642 | .driver_info = (unsigned long)&wwan_info, | ||
643 | }, { | ||
644 | /* ZTE (Vodafone) K4510-Z */ | ||
645 | .match_flags = USB_DEVICE_ID_MATCH_VENDOR | ||
646 | | USB_DEVICE_ID_MATCH_PRODUCT | ||
647 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
648 | .idVendor = ZTE_VENDOR_ID, | ||
649 | .idProduct = 0x1173, | ||
650 | .bInterfaceClass = USB_CLASS_COMM, | ||
651 | .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, | ||
652 | .bInterfaceProtocol = USB_CDC_PROTO_NONE, | ||
653 | .driver_info = (unsigned long)&wwan_info, | ||
654 | }, { | ||
655 | /* ZTE (Vodafone) K3770-Z */ | ||
656 | .match_flags = USB_DEVICE_ID_MATCH_VENDOR | ||
657 | | USB_DEVICE_ID_MATCH_PRODUCT | ||
658 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
659 | .idVendor = ZTE_VENDOR_ID, | ||
660 | .idProduct = 0x1177, | ||
661 | .bInterfaceClass = USB_CLASS_COMM, | ||
662 | .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, | ||
663 | .bInterfaceProtocol = USB_CDC_PROTO_NONE, | ||
664 | .driver_info = (unsigned long)&wwan_info, | ||
665 | }, { | ||
666 | /* ZTE (Vodafone) K3772-Z */ | ||
667 | .match_flags = USB_DEVICE_ID_MATCH_VENDOR | ||
668 | | USB_DEVICE_ID_MATCH_PRODUCT | ||
669 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
670 | .idVendor = ZTE_VENDOR_ID, | ||
671 | .idProduct = 0x1181, | ||
672 | .bInterfaceClass = USB_CLASS_COMM, | ||
673 | .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, | ||
674 | .bInterfaceProtocol = USB_CDC_PROTO_NONE, | ||
675 | .driver_info = (unsigned long)&wwan_info, | ||
676 | }, { | ||
621 | USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ETHERNET, | 677 | USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ETHERNET, |
622 | USB_CDC_PROTO_NONE), | 678 | USB_CDC_PROTO_NONE), |
623 | .driver_info = (unsigned long) &cdc_info, | 679 | .driver_info = (unsigned long) &cdc_info, |