William Wu 3754e108b2 FROMLIST: usb: gadget: configfs: Correctly set use_os_string at bind
Once the use_os_string flag is set to true for some functions
(e.g. adb/mtp) which need to response the OS string, and then
if we re-bind the ConfigFS gadget to use the other functions
(e.g. hid) which should not to response the OS string, however,
because the use_os_string flag is still true, so the usb gadget
response the OS string descriptor incorrectly, this can cause
the USB device to be unrecognizable on the Windows system.

An example of this as follows:

echo 1 > os_desc/use
ln -s functions/ffs.adb configs/b.1/function0
start adbd
echo "<udc device>" > UDC   #succeed

stop adbd
rm configs/b.1/function0
echo 0 > os_desc/use
ln -s functions/hid.gs0 configs/b.1/function0
echo "<udc device>" > UDC  #fail to connect on Windows

This patch sets the use_os_string flag to false at bind if
the functions not support OS Descriptors.

Fixes: 87213d388e ("usb: gadget: configfs: OS String support")
Link: https://patchwork.kernel.org/project/linux-usb/patch/1755833769-25434-1-git-send-email-william.wu@rock-chips.com/
Change-Id: I79fce9ad19b5ceaf5ded84894d6b509a3d0c75f4
Signed-off-by: William Wu <william.wu@rock-chips.com>
2025-09-05 02:10:29 +00:00
2025-07-07 19:57:35 +08:00
2025-07-07 19:57:35 +08:00
2025-07-07 19:57:35 +08:00
2025-07-07 19:57:35 +08:00
2025-07-07 19:57:35 +08:00
2025-07-07 19:57:35 +08:00
2025-07-07 19:57:35 +08:00
2025-01-10 17:48:57 +08:00
2025-06-04 14:40:26 +02:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
Description
No description provided
Readme 7.9 GiB
Languages
C 97.7%
Assembly 1.6%
Makefile 0.3%
Perl 0.1%