patch "usb: gadget: Fix OS descriptors support" added to usb-linus
Subsystems (2)
This is a note to let you know that I've just added the patch titled
usb: gadget: Fix OS descriptors support
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
Quoted 1 line
From
50b9773c13bffbef32060e67c4483ea7b2eca7b5Mon Sep 17 00:00:00 2001
From: Benjamin Herrenschmidt <[email protected]>
Date: Wed, 27 Jun 2018 12:33:56 +1000
Subject: usb: gadget: Fix OS descriptors support
The current code is broken as it re-defines "req" inside the if block, then goto out of it. Thus the request that ends up being sent is not the one that was populated by the code in question.
This fixes RNDIS driver autodetect by Windows 10 for me.
The bug was introduced by Chris rework to remove the local queuing inside the if { } block of the redefined request.
--- drivers/usb/gadget/composite.c | 1 - 1 file changed, 1 deletion(-)
drivers/usb/gadget/composite.c +0 -1
@@ -1819,7 +1819,6 @@ composite_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)if (cdev->use_os_string && cdev->os_desc_config && (ctrl->bRequestType &USB_TYPE_VENDOR ) && ctrl->bRequest == cdev->b_vendor_code) { -struct usb_request *req;struct usb_configuration *os_desc_cfg;u8 *buf;int interface;
Signature · 1 line
2.18.0