lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ