From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Subject: Re: [PATCH] usb: gadget: f_rndis: fix usb_interface_descriptor for rndis Date: Wed, 24 Sep 2014 15:12:08 +0200 Message-ID: <5422C328.3000504@denx.de> References: <1411541339-32400-1-git-send-email-hs@denx.de> Reply-To: hs@denx.de Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: linux-usb@vger.kernel.org, Felipe Balbi , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-api@vger.kernel.org, Andrzej Pietrasiewicz , Kyungmin Park , Dan Carpenter , Macpaul Lin To: Michal Nazarewicz Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org Hello Michal, Am 24.09.2014 11:38, schrieb Michal Nazarewicz: > On Wed, Sep 24 2014, Heiko Schocher 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 >> >> --- >> >> Cc: Felipe Balbi >> Cc: Greg Kroah-Hartman >> Cc: linux-usb@vger.kernel.org >> Cc: linux-kernel@vger.kernel.org >> Cc: Oliver Neukum >> Cc: netdev@vger.kernel.org >> Cc: linux-api@vger.kernel.org >> Cc: Andrzej Pietrasiewicz >> Cc: Michal Nazarewicz >> Cc: Kyungmin Park >> Cc: Dan Carpenter >> Cc: Macpaul Lin >> >> 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