Commit a3c3e7c8 authored by Michal Vrastil's avatar Michal Vrastil Committed by Treehugger Robot
Browse files

FROMGIT: Revert "usb: gadget: composite: fix OS descriptors w_value logic"



This reverts commit ec6ce707.

Fix installation of WinUSB driver using OS descriptors. Without the
fix the drivers are not installed correctly and the property
'DeviceInterfaceGUID' is missing on host side.

The original change was based on the assumption that the interface
number is in the high byte of wValue but it is in the low byte,
instead. Unfortunately, the fix is based on MS documentation which is
also wrong.

The actual USB request for OS descriptors (using USB analyzer) looks
like:

Offset  0   1   2   3   4   5   6   7
0x000   C1  A1  02  00  05  00  0A  00

C1: bmRequestType (device to host, vendor, interface)
A1: nas magic number
0002: wValue (2: nas interface)
0005: wIndex (5: get extended property i.e. nas interface GUID)
008E: wLength (142)

The fix was tested on Windows 10 and Windows 11.

Cc: stable@vger.kernel.org
Fixes: ec6ce707 ("usb: gadget: composite: fix OS descriptors w_value logic")
Signed-off-by: default avatarMichal Vrastil <michal.vrastil@hidglobal.com>
Signed-off-by: default avatarElson Roy Serrao <quic_eserrao@quicinc.com>
Acked-by: default avatarPeter korsgaard <peter@korsgaard.com>
Link: https://lore.kernel.org/r/20241113235433.20244-1-quic_eserrao@quicinc.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>

Bug: 379835073
Bug: 408087010
(cherry picked from commit 51cdd69d
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

 usb-next)
Change-Id: I82698d630b5c03922f3bb504c4d3fef74f4cd184
Signed-off-by: default avatarElson Roy Serrao <quic_eserrao@quicinc.com>
Signed-off-by: default avatarliuqi <liuqi20328@gmail.com>
parent 96c6472e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment