Revert "usb: gadget: composite: fix OS descriptors w_value logic"
commit 51cdd69d upstream. 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:Michal Vrastil <michal.vrastil@hidglobal.com> Signed-off-by:
Elson Roy Serrao <quic_eserrao@quicinc.com> Acked-by:
Peter korsgaard <peter@korsgaard.com> Link: https://lore.kernel.org/r/20241113235433.20244-1-quic_eserrao@quicinc.com Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Bug: 405046934 Bug: 419124561 (cherry picked from commit c17418f4) Change-Id: Ibed2f523154a016106e48d345d3d368adaeddd48 Signed-off-by:
Yinchu Chen <chenyc5@motorola.com>
Loading
Please sign in to comment