netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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

* 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).