* [PATCH] qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan [not found] ` <87objr659w.fsf@nemi.mork.no> @ 2012-10-24 22:10 ` Dan Williams [not found] ` <1351116634.16726.6.camel-wKZy7rqYPVb5EHUCmHmTqw@public.gmane.org> 2012-10-26 7:44 ` David Miller 0 siblings, 2 replies; 4+ messages in thread From: Dan Williams @ 2012-10-24 22:10 UTC (permalink / raw) To: Bjørn Mork; +Cc: Aleksander Morgado, linux-usb, netdev These devices provide 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 devices in cdc_ether and add their IDs to qmi_wwan, which enables both QMI and ethernet simultaneously. Signed-off-by: Dan Williams <dcbw@redhat.com> Cc: stable@vger.kernel.org --- Greg: CC-ed to linux-usb@ for visibility but should probably go through davem diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index a03de71..d012982 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c @@ -592,6 +592,32 @@ static const struct usb_device_id products [] = { .driver_info = 0, }, +/* Novatel USB551L and MC551 - handled by qmi_wwan */ +{ + .match_flags = USB_DEVICE_ID_MATCH_VENDOR + | USB_DEVICE_ID_MATCH_PRODUCT + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = NOVATEL_VENDOR_ID, + .idProduct = 0xB001, + .bInterfaceClass = USB_CLASS_COMM, + .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, + .bInterfaceProtocol = USB_CDC_PROTO_NONE, + .driver_info = 0, +}, + +/* Novatel E362 - handled by qmi_wwan */ +{ + .match_flags = USB_DEVICE_ID_MATCH_VENDOR + | USB_DEVICE_ID_MATCH_PRODUCT + | USB_DEVICE_ID_MATCH_INT_INFO, + .idVendor = NOVATEL_VENDOR_ID, + .idProduct = 0x9010, + .bInterfaceClass = USB_CLASS_COMM, + .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, + .bInterfaceProtocol = USB_CDC_PROTO_NONE, + .driver_info = 0, +}, + /* * WHITELIST!!! * @@ -604,21 +630,6 @@ static const struct usb_device_id products [] = { * because of bugs/quirks in a given product (like Zaurus, above). */ { - /* Novatel USB551L */ - /* This match must come *before* the generic CDC-ETHER match so that - * we get FLAG_WWAN set on the device, since it's descriptors are - * generic CDC-ETHER. - */ - .match_flags = USB_DEVICE_ID_MATCH_VENDOR - | USB_DEVICE_ID_MATCH_PRODUCT - | USB_DEVICE_ID_MATCH_INT_INFO, - .idVendor = NOVATEL_VENDOR_ID, - .idProduct = 0xB001, - .bInterfaceClass = USB_CLASS_COMM, - .bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, - .bInterfaceProtocol = USB_CDC_PROTO_NONE, - .driver_info = (unsigned long)&wwan_info, -}, { /* ZTE (Vodafone) K3805-Z */ .match_flags = USB_DEVICE_ID_MATCH_VENDOR | USB_DEVICE_ID_MATCH_PRODUCT diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c index 6883c37..05fd4a1 100644 --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c @@ -369,6 +369,20 @@ static const struct usb_device_id products[] = { USB_VENDOR_AND_INTERFACE_INFO(0x106c, USB_CLASS_VENDOR_SPEC, 0xf1, 0xff), .driver_info = (unsigned long)&qmi_wwan_info, }, + { /* Novatel USB551L and MC551 */ + USB_DEVICE_AND_INTERFACE_INFO(0x1410, 0xb001, + USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, + USB_CDC_PROTO_NONE), + .driver_info = (unsigned long)&qmi_wwan_info, + }, + { /* Novatel E362 */ + USB_DEVICE_AND_INTERFACE_INFO(0x1410, 0x9010, + USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, + USB_CDC_PROTO_NONE), + .driver_info = (unsigned long)&qmi_wwan_info, + }, /* 3. Combined interface devices matching on interface number */ {QMI_FIXED_INTF(0x19d2, 0x0002, 1)}, ^ permalink raw reply related [flat|nested] 4+ messages in thread
[parent not found: <1351116634.16726.6.camel-wKZy7rqYPVb5EHUCmHmTqw@public.gmane.org>]
* Re: [PATCH] qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan [not found] ` <1351116634.16726.6.camel-wKZy7rqYPVb5EHUCmHmTqw@public.gmane.org> @ 2012-10-24 22:21 ` Greg KH 2012-10-25 7:17 ` Bjørn Mork 1 sibling, 0 replies; 4+ messages in thread From: Greg KH @ 2012-10-24 22:21 UTC (permalink / raw) To: Dan Williams Cc: Bjørn Mork, Aleksander Morgado, linux-usb-u79uwXL29TY76Z2rM5mHXA, netdev On Wed, Oct 24, 2012 at 05:10:34PM -0500, Dan Williams wrote: > These devices provide 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 devices in cdc_ether and add their IDs to > qmi_wwan, which enables both QMI and ethernet simultaneously. > > Signed-off-by: Dan Williams <dcbw-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > Cc: stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > --- > Greg: CC-ed to linux-usb@ for visibility but should probably go through davem Yes, it should go through netdev: Acked-by: Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org> -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan [not found] ` <1351116634.16726.6.camel-wKZy7rqYPVb5EHUCmHmTqw@public.gmane.org> 2012-10-24 22:21 ` Greg KH @ 2012-10-25 7:17 ` Bjørn Mork 1 sibling, 0 replies; 4+ messages in thread From: Bjørn Mork @ 2012-10-25 7:17 UTC (permalink / raw) To: Dan Williams; +Cc: Aleksander Morgado, linux-usb-u79uwXL29TY76Z2rM5mHXA, netdev Dan Williams <dcbw-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> writes: > These devices provide 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 devices in cdc_ether and add their IDs to > qmi_wwan, which enables both QMI and ethernet simultaneously. Acked-by: Bjørn Mork <bjorn-yOkvZcmFvRU@public.gmane.org> -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan 2012-10-24 22:10 ` [PATCH] qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan Dan Williams [not found] ` <1351116634.16726.6.camel-wKZy7rqYPVb5EHUCmHmTqw@public.gmane.org> @ 2012-10-26 7:44 ` David Miller 1 sibling, 0 replies; 4+ messages in thread From: David Miller @ 2012-10-26 7:44 UTC (permalink / raw) To: dcbw; +Cc: bjorn, aleksander, linux-usb, netdev From: Dan Williams <dcbw@redhat.com> Date: Wed, 24 Oct 2012 17:10:34 -0500 > These devices provide 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 devices in cdc_ether and add their IDs to > qmi_wwan, which enables both QMI and ethernet simultaneously. > > Signed-off-by: Dan Williams <dcbw@redhat.com> Applied, thanks. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-10-26 7:44 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1351103134.6544.25.camel@dcbw.foobar.com> [not found] ` <1351103720.6544.34.camel@dcbw.foobar.com> [not found] ` <87objr659w.fsf@nemi.mork.no> 2012-10-24 22:10 ` [PATCH] qmi_wwan/cdc_ether: move Novatel 551 and E362 to qmi_wwan Dan Williams [not found] ` <1351116634.16726.6.camel-wKZy7rqYPVb5EHUCmHmTqw@public.gmane.org> 2012-10-24 22:21 ` Greg KH 2012-10-25 7:17 ` Bjørn Mork 2012-10-26 7:44 ` David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).