Re: [PATCH net,stable-3.8] net: qmi_wwan: set correct altsetting for Gobi 1K devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Dan Williams <dcbw@xxxxxxxxxx>
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@xxxxxxxxxx>
>> Signed-off-by: Bjørn Mork
> 
> Works on my UML290, Gobi3K, Gobi1K, Gobi2K, and E362.
> 
> Tested-by: Dan Williams <dcbw@xxxxxxxxxx>

Applied and queued up for -stable.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux