Linux kernel source tree
Go to file
Hamish Martin 73ce9f1f27 HID: mcp2221: Allow IO to start during probe
During the probe we add an I2C adapter and as soon as we add that adapter
it may be used for a transfer (e.g via the code in i2cdetect()).
Those transfers are not able to complete and time out. This is because the
HID raw_event callback (mcp2221_raw_event) will not be invoked until the
HID device's 'driver_input_lock' is marked up at the completion of the
probe in hid_device_probe(). This starves the driver of the responses it
is waiting for.
In order to allow the I2C transfers to complete while we are still in the
probe, start the IO once we have completed init of the HID device.

This issue seems to have been seen before and a patch was submitted but
it seems it was never accepted. See:
https://lore.kernel.org/all/20221103222714.21566-3-Enrik.Berkhan@inka.de/

Signed-off-by: Hamish Martin <hamish.martin@alliedtelesis.co.nz>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2023-11-21 09:29:47 +01:00
arch pci-v6.7-changes 2023-11-02 14:05:18 -10:00
block for-6.7/block-2023-10-30 2023-11-01 12:30:07 -10:00
certs certs: Only allow certs signed by keys on the builtin keyring 2023-10-31 08:22:36 -04:00
crypto integrity-v6.7 2023-11-02 06:53:22 -10:00
Documentation pci-v6.7-changes 2023-11-02 14:05:18 -10:00
drivers HID: mcp2221: Allow IO to start during probe 2023-11-21 09:29:47 +01:00
fs 7 ksmbd server fixes 2023-11-02 08:32:07 -10:00
include for-linus-2023110101 2023-11-02 14:29:10 -10:00
init sysctl-6.7-rc1 2023-11-01 20:51:41 -10:00
io_uring io_uring-futex-2023-10-30 2023-11-01 11:25:08 -10:00
ipc ipc: convert to new timestamp accessors 2023-10-18 14:08:30 +02:00
kernel module/decompress: use kvmalloc() consistently 2023-11-02 07:35:39 -10:00
lib linux_kselftest-kunit-6.7-rc1 2023-11-01 17:02:29 -10:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm asm-generic updates for v6.7 2023-11-01 15:28:33 -10:00
net Follow up to networking PR for 6.7 2023-11-01 16:33:20 -10:00
rust workqueue: Add rust bindings for v6.7 2023-10-30 20:35:48 -10:00
samples Probes updates for v6.7: 2023-11-01 16:15:42 -10:00
scripts Modules changes for v6.7-rc1 2023-11-01 21:09:37 -10:00
security integrity-v6.7 2023-11-02 06:53:22 -10:00
sound pci-v6.7-changes 2023-11-02 14:05:18 -10:00
tools for-linus-2023110101 2023-11-02 14:29:10 -10:00
usr arch: Remove Itanium (IA-64) architecture 2023-09-11 08:13:17 +00:00
virt ARM: 2023-09-07 13:52:20 -07:00
.clang-format iommu: Add for_each_group_device() 2023-05-23 08:15:51 +02:00
.cocciconfig
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore kbuild: rpm-pkg: rename binkernel.spec to kernel.spec 2023-07-25 00:59:33 +09:00
.mailmap 20 hotfixes. 12 are cc:stable and the remainder address post-6.5 issues 2023-10-24 09:52:16 -10:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS USB: Remove Wireless USB and UWB documentation 2023-08-09 14:17:32 +02:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS pci-v6.7-changes 2023-11-02 14:05:18 -10:00
Makefile linux_kselftest-next-6.7-rc1 2023-11-01 17:08:10 -10:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06: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.