lkml.org 
[lkml]   [2014]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] usb: gadget: f_rndis: fix usb_interface_descriptor for rndis
Hello Michal,

Am 24.09.2014 11:38, schrieb Michal Nazarewicz:
> On Wed, Sep 24 2014, Heiko Schocher<hs@denx.de> wrote:
>> use the values for RNDIS over Ethernet as defined in
>> http://www.usb.org/developers/defined_class
>> (search for RDNIS):
>>
>> - baseclass: 0xef (miscellaneous)
>> - subclass: 0x04
>> - protocol: 0x01
>>
>> with this setings the file in Documentation/usb/linux.inf is
>> obsolete.
>>
>> Signed-off-by: Heiko Schocher<hs@denx.de>
>>
>> ---
>>
>> Cc: Felipe Balbi<balbi@ti.com>
>> Cc: Greg Kroah-Hartman<gregkh@suse.de>
>> Cc: linux-usb@vger.kernel.org
>> Cc: linux-kernel@vger.kernel.org
>> Cc: Oliver Neukum<oliver@neukum.name>
>> Cc: netdev@vger.kernel.org
>> Cc: linux-api@vger.kernel.org
>> Cc: Andrzej Pietrasiewicz<andrzej.p@samsung.com>
>> Cc: Michal Nazarewicz<mina86@mina86.com>
>> Cc: Kyungmin Park<kyungmin.park@samsung.com>
>> Cc: Dan Carpenter<dan.carpenter@oracle.com>
>> Cc: Macpaul Lin<macpaul@gmail.com>
>>
>> Tested with the "USB Compliance test suite which runs Windows", see:
>> http://www.usb.org/developers/tools/usb20_tools/#usb20cv
>>
>> drivers/net/usb/cdc_ether.c | 6 +++---
>> drivers/usb/core/generic.c | 6 +++---
>> drivers/usb/gadget/function/f_rndis.c | 6 +++---
>> include/uapi/linux/usb/cdc.h | 3 +++
>> 4 files changed, 12 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
>> index 2a32d91..9c216c2 100644
>> --- a/drivers/net/usb/cdc_ether.c
>> +++ b/drivers/net/usb/cdc_ether.c
>> @@ -35,9 +35,9 @@
>>
>> static int is_rndis(struct usb_interface_descriptor *desc)
>> {
>> - return (desc->bInterfaceClass == USB_CLASS_COMM&&
>> - desc->bInterfaceSubClass == 2&&
>> - desc->bInterfaceProtocol == 0xff);
>> + return (desc->bInterfaceClass == USB_CLASS_MISC&&
>> + desc->bInterfaceSubClass == USB_CDC_SUBCLASS_RNDIS&&
>> + desc->bInterfaceProtocol == USB_CDC_RNDIS_PROTO_ETH);
>> }
>
> Does that mean that new kernels will stop working with old RNDIs
> gadgets because they stop recognising them as RNDIS? I feel like this
> function should accept both, i.e.:

Hmm.. I am not a usb guru ... but I think, yes, you are right.
I add this to a v2 (if this patch has a chance to go in mainline).

Thanks!

bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


\
 
 \ /
  Last update: 2014-09-24 15:41    [W:0.510 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site