No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Mathias Nyman 848eeb75c8 usb: Fix out of sync data toggle if a configured device is reconfigured
commit cfd54fa83a5068b61b7eb28d3c117d8354c74c7a upstream.

Userspace drivers that use a SetConfiguration() request to "lightweight"
reset an already configured usb device might cause data toggles to get out
of sync between the device and host, and the device becomes unusable.

The xHCI host requires endpoints to be dropped and added back to reset the
toggle. If USB core notices the new configuration is the same as the
current active configuration it will avoid these extra steps by calling
usb_reset_configuration() instead of usb_set_configuration().

A SetConfiguration() request will reset the device side data toggles.
Make sure usb_reset_configuration() function also drops and adds back the
endpoints to ensure data toggles are in sync.

To avoid code duplication split the current usb_disable_device() function
and reuse the endpoint specific part.

Cc: stable <stable@vger.kernel.org>
Tested-by: Martin Thierer <mthierer@gmail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20200901082528.12557-1-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-09-17 13:47:56 +02:00
arch ARM: dts: vfxxx: Add syscon compatible with OCOTP 2020-09-17 13:47:55 +02:00
block block: Set same_page to false in __bio_try_merge_page if ret is false 2020-09-17 13:47:44 +02:00
certs
crypto crypto: af_alg - Work around empty control messages without MSG_MORE 2020-09-03 11:27:05 +02:00
Documentation affs: fix basic permission bits to actually work 2020-09-09 19:12:34 +02:00
drivers usb: Fix out of sync data toggle if a configured device is reconfigured 2020-09-17 13:47:56 +02:00
fs debugfs: Fix module state check condition 2020-09-17 13:47:55 +02:00
include irqchip/eznps: Fix build error for !ARC700 builds 2020-09-17 13:47:47 +02:00
init
ipc
kernel gcov: Disable gcov build with GCC 10 2020-09-17 13:47:49 +02:00
lib kobject: Restore old behaviour of kobject_del(NULL) 2020-09-17 13:47:52 +02:00
LICENSES
mm mm/khugepaged.c: fix khugepaged's request size in collapse_file 2020-09-09 19:12:37 +02:00
net cfg80211: Adjust 6 GHz frequency to channel conversion 2020-09-17 13:47:46 +02:00
samples bpf: Fix fds_example SIGSEGV error 2020-08-19 08:16:03 +02:00
scripts checkpatch: fix the usage of capture group ( ... ) 2020-09-09 19:12:37 +02:00
security Smack: prevent underflow in smk_set_cipso() 2020-08-19 08:16:16 +02:00
sound ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled 2020-09-17 13:47:49 +02:00
tools selftests/timers: Turn off timeout setting 2020-09-17 13:47:41 +02:00
usr
virt KVM: fix memory leak in kvm_io_bus_unregister_dev() 2020-09-17 13:47:54 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Documentation/llvm: add documentation on building w/ Clang/LLVM 2020-08-26 10:40:46 +02:00
Makefile Linux 5.4.65 2020-09-12 14:18:56 +02:00
README

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.