diff options
author | Dan Williams <dcbw@redhat.com> | 2012-05-07 00:24:51 -0400 |
---|---|---|
committer | Luis Henriques <luis.henriques@canonical.com> | 2012-05-25 12:24:47 -0400 |
commit | a5ef3b2f52f3f965417bafb57a0f68cf078e7211 (patch) | |
tree | 03377afabb2d1789dbd3cc2c82aa427e73a08a3e /drivers/net/usb/cdc_ether.c | |
parent | 955472f3f7cff9a62bfd8c70c4e7d7e7ff343291 (diff) |
cdc_ether: add Novatel USB551L device IDs for FLAG_WWAN
BugLink: http://bugs.launchpad.net/bugs/1002880
commit 4e6304b8420aba5311ba21fd68dab2924ae4d91a upstream.
Needs to be tagged with FLAG_WWAN, which since it has generic
descriptors, won't happen if we don't override the generic
driver info.
Cc: Oliver Neukum <oliver@neukum.org>
Cc: stable@vger.kernel.org
Signed-off-by: Dan Williams <dcbw@redhat.com>
Acked-by: Oliver Neukum <oliver@neukum.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Diffstat (limited to 'drivers/net/usb/cdc_ether.c')
-rw-r--r-- | drivers/net/usb/cdc_ether.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index 6d1461f94e8..544c309e0d9 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c | |||
@@ -482,6 +482,7 @@ static const struct driver_info wwan_info = { | |||
482 | /*-------------------------------------------------------------------------*/ | 482 | /*-------------------------------------------------------------------------*/ |
483 | 483 | ||
484 | #define HUAWEI_VENDOR_ID 0x12D1 | 484 | #define HUAWEI_VENDOR_ID 0x12D1 |
485 | #define NOVATEL_VENDOR_ID 0x1410 | ||
485 | 486 | ||
486 | static const struct usb_device_id products [] = { | 487 | static const struct usb_device_id products [] = { |
487 | /* | 488 | /* |
@@ -599,6 +600,21 @@ static const struct usb_device_id products [] = { | |||
599 | * because of bugs/quirks in a given product (like Zaurus, above). | 600 | * because of bugs/quirks in a given product (like Zaurus, above). |
600 | */ | 601 | */ |
601 | { | 602 | { |
603 | /* Novatel USB551L */ | ||
604 | /* This match must come *before* the generic CDC-ETHER match so that | ||
605 | * we get FLAG_WWAN set on the device, since it's descriptors are | ||
606 | * generic CDC-ETHER. | ||
607 | */ | ||
608 | .match_flags = USB_DEVICE_ID_MATCH_VENDOR | ||
609 | | USB_DEVICE_ID_MATCH_PRODUCT | ||
610 | | USB_DEVICE_ID_MATCH_INT_INFO, | ||
611 | .idVendor = NOVATEL_VENDOR_ID, | ||
612 | .idProduct = 0xB001, | ||
613 | .bInterfaceClass = USB_CLASS_COMM, | ||
614 | .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, | ||
615 | .bInterfaceProtocol = USB_CDC_PROTO_NONE, | ||
616 | .driver_info = (unsigned long)&wwan_info, | ||
617 | }, { | ||
602 | USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ETHERNET, | 618 | USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ETHERNET, |
603 | USB_CDC_PROTO_NONE), | 619 | USB_CDC_PROTO_NONE), |
604 | .driver_info = (unsigned long) &cdc_info, | 620 | .driver_info = (unsigned long) &cdc_info, |