kernel_samsung_a53x/drivers/usb
Michal Vrastil 41431b61a8 Revert "usb: gadget: composite: fix OS descriptors w_value logic"
commit 51cdd69d6a857f527d6d0697a2e1f0fa8bca1005 upstream.

This reverts commit ec6ce7075ef879b91a8710829016005dc8170f17.

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: ec6ce7075ef8 ("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>
2024-12-17 13:24:18 +01:00
..
atm usb: atm: cxacru: fix endpoint checking in cxacru_bind() 2024-11-19 14:19:34 +01:00
c67x00
cdns3
chipidea Revert "usb: chipidea: udc: enable suspend interrupt after usb reset" 2024-11-24 00:22:58 +01:00
class Revert "USB: usbtmc: prevent kernel-usb-infoleak" 2024-11-24 00:23:31 +01:00
common
core usb: core: sysfs: Unmerge @usb3_hardware_lpm_attr_group in remove_power_attributes() 2024-11-23 23:20:55 +01:00
dwc2 Revert "usb: dwc2: Adjust the timing of USB Driver Interrupt Registration in the Crashkernel Scenario" 2024-11-24 00:22:58 +01:00
dwc3 Revert "usb: dwc3: core: Enable GUCTL1 bit 10 for fixing termination error after resume bug" 2024-11-24 00:23:36 +01:00
early
gadget Revert "usb: gadget: composite: fix OS descriptors w_value logic" 2024-12-17 13:24:18 +01:00
host usb: ehci-spear: fix call balance of sehci clk handling routines 2024-12-17 13:24:17 +01:00
image
isp1760
misc USB: chaoskey: Fix possible deadlock chaoskey_list_lock 2024-12-17 13:24:16 +01:00
mon
mtu3
musb usb: musb: sunxi: Fix accessing an released usb phy 2024-11-30 02:33:26 +01:00
notify
notify_lsi
phy usb: phy: Fix API devm_usb_put_phy() can not release the phy 2024-11-23 23:22:04 +01:00
renesas_usbhs
roles
serial USB: serial: option: add Quectel RG650V 2024-11-30 02:33:26 +01:00
storage Revert "usb: uas: set host status byte on data completion error" 2024-11-24 00:23:42 +01:00
typec mfd: intel_soc_pmic_bxtwc: Use IRQ domain for USB Type-C device 2024-12-17 13:24:08 +01:00
usbip usbip: Don't submit special requests twice 2024-11-23 23:20:58 +01:00
Kconfig
Kconfig.variant1
Makefile
Makefile.variant1
usb-skeleton.c