[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20130313.113430.1432101723516184304.davem@davemloft.net>
Date: Wed, 13 Mar 2013 11:34:30 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: dcbw@...hat.com
Cc: bjorn@...k.no, linux-usb@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH net,stable-3.8] net: qmi_wwan: set correct altsetting
for Gobi 1K devices
From: Dan Williams <dcbw@...hat.com>
Date: Wed, 13 Mar 2013 08:43:36 -0500
> On Wed, 2013-03-13 at 13:25 +0100, Bjørn Mork wrote:
>> commit bd877e4 ("net: qmi_wwan: use a single bind function for
>> all device types") made Gobi 1K devices fail probing.
>>
>> Using the number of endpoints in the default altsetting to decide
>> whether the function use one or two interfaces is wrong. Other
>> altsettings may provide more endpoints.
>>
>> With Gobi 1K devices, USB interface #3's altsetting is 0 by default, but
>> altsetting 0 only provides one interrupt endpoint and is not sufficent
>> for QMI. Altsetting 1 provides all 3 endpoints required for qmi_wwan
>> and works with QMI. Gobi 1K layout for intf#3 is:
>>
>> Interface Descriptor: 255/255/255
>> bInterfaceNumber 3
>> bAlternateSetting 0
>> Endpoint Descriptor: Interrupt IN
>> Interface Descriptor: 255/255/255
>> bInterfaceNumber 3
>> bAlternateSetting 1
>> Endpoint Descriptor: Interrupt IN
>> Endpoint Descriptor: Bulk IN
>> Endpoint Descriptor: Bulk OUT
>>
>> Prior to commit bd877e4, we would call usbnet_get_endpoints
>> before giving up finding enough endpoints. Removing the early
>> endpoint number test and the strict functional descriptor
>> requirement allow qmi_wwan_bind to continue until
>> usbnet_get_endpoints has made the final attempt to collect
>> endpoints. This restores the behaviour from before commit
>> bd877e4 without losing the added benefit of using a single bind
>> function.
>>
>> The driver has always required a CDC Union functional descriptor
>> for two-interface functions. Using the existence of this
>> descriptor to detect two-interface functions is the logically
>> correct method.
>>
>> Reported-by: Dan Williams <dcbw@...hat.com>
>> Signed-off-by: Bjørn Mork
>
> Works on my UML290, Gobi3K, Gobi1K, Gobi2K, and E362.
>
> Tested-by: Dan Williams <dcbw@...hat.com>
Applied and queued up for -stable.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists