linux/Documentation
Dmitry Torokhov 225c308128 HID: add documentation and Coccinelle script for FF registration race
HID drivers that rely on the HID core to register input devices must
ensure that all private data and capabilities (like force-feedback) are
fully initialized before registration.

When hid_hw_start() is called with HID_CONNECT_HIDINPUT, the input
device is registered immediately. This is racy if the driver attempts to
augment the input device in probe() after starting the hardware.

The correct way to handle this is to use the .input_configured()
callback.

Add documentation and a Coccinelle script to detect and prevent this
anti-pattern.

Assisted-by: Gemini:gemini-3.1-pro
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2026-08-14 14:46:20 +02:00
..
ABI RDMA v7.2 merge window 2026-06-18 08:16:21 -07:00
accel
accounting
admin-guide dma-mapping updates for Linux 7.2: 2026-06-17 12:20:21 -07:00
arch soc: arm code changes for 7.2 2026-06-17 11:28:10 -07:00
block for-7.2/block-20260615 2026-06-16 13:02:47 +05:30
bpf Documentation/bpf: Refresh map_lru_hash_update.dot for rqspinlock 2026-06-07 18:46:13 -07:00
cdrom
core-api printk changes for 7.2 2026-06-17 12:05:20 -07:00
cpu-freq cpufreq: Use policy->min/max init as QoS request 2026-06-08 18:42:14 +02:00
crypto This update includes the following changes: 2026-06-16 09:01:23 +05:30
dev-tools linux_kselftest-next-7.2-rc1 2026-06-16 16:49:07 +05:30
devicetree IOMMU Updates for Linux v7.2 2026-06-17 12:24:50 -07:00
doc-guide
driver-api Networking changes for 7.2. 2026-06-17 08:17:00 +01:00
edac
fault-injection
fb
features RISC-V updates for v7.1 2026-04-24 10:00:37 -07:00
filesystems Things have calmed down a bit on the docs front, with no earthshaking 2026-06-16 08:35:59 +05:30
firmware_class
firmware-guide docs: acpi: dsd: add Motorcomm yt8xxx PHY properties 2026-05-11 18:05:22 -07:00
fpga
gpu drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
hid HID: add documentation and Coccinelle script for FF registration race 2026-08-14 14:46:20 +02:00
hwmon hwmon: temperature: add support for EMC1812 2026-06-10 12:49:57 -07:00
i2c
iio
images
infiniband docs: infiniband: correct name of option to enable the ib_uverbs module 2026-06-16 14:47:24 -03:00
input
kbuild kbuild: document generation of offset header files 2026-04-29 15:22:22 -07:00
kernel-hacking Documentation: adopt new coding style of type-aware kmalloc-family 2026-05-03 08:54:21 -06:00
leds docs: fix typo in leds-lp55xx.rst 2026-05-25 14:20:02 -06:00
litmus-tests
livepatch
locking Things have calmed down a bit on the docs front, with no earthshaking 2026-06-16 08:35:59 +05:30
maintainer docs: auto-generate maintainer entry profile links 2026-05-03 09:24:30 -06:00
mhi
misc-devices
mm
netlabel
netlink NFSD 7.2 Release Notes 2026-06-18 09:14:15 -07:00
networking appletalk: stop storing per-interface state in struct net_device 2026-06-16 14:37:06 -07:00
nvdimm
nvme
PCI pci-v7.1-changes 2026-04-15 14:41:21 -07:00
pcmcia
peci
power
process Things have calmed down a bit on the docs front, with no earthshaking 2026-06-16 08:35:59 +05:30
RCU Documentation: RCU: adopt new coding style of type-aware kmalloc-family 2026-05-03 08:55:13 -06:00
rust s390 updates for 7.2 merge window 2026-06-16 05:08:13 +05:30
scheduler sched_ext: Changes for v7.2 2026-06-17 12:10:11 +01:00
scsi
security Documentation: fix typo and formattting in security/credentials.rst 2026-05-15 08:09:46 -06:00
sound sound updates for 7.2-rc1 2026-06-17 11:18:45 +01:00
sphinx docs: maintainers_include: keep the last entry at the end 2026-05-25 14:24:09 -06:00
sphinx-includes
sphinx-static docs: sphinx-static: fix typo "wich" -> "which" 2026-05-15 07:52:37 -06:00
spi Documentation: adopt new coding style of type-aware kmalloc-family 2026-05-03 08:54:21 -06:00
staging docs: staging: fix various typos and grammar issues 2026-04-27 04:00:29 -06:00
sunrpc/xdr Documentation: Add the RPC language description of NLM version 3 2026-06-09 16:32:59 -04:00
target
tee
timers
tools Documentation/rtla: Add -A/--aligned option 2026-05-28 13:02:48 +02:00
trace Probes updates for v7.2 2026-06-16 17:33:20 +05:30
translations RDMA v7.2 merge window 2026-06-18 08:16:21 -07:00
usb
userspace-api Networking changes for 7.2. 2026-06-17 08:17:00 +01:00
virt Things have calmed down a bit on the docs front, with no earthshaking 2026-06-16 08:35:59 +05:30
w1
watchdog Things have calmed down a bit on the docs front, with no earthshaking 2026-06-16 08:35:59 +05:30
wmi
.gitignore
.renames.txt Revert "drivers: net: 3com: 3c509: Remove this driver" 2026-05-21 08:28:56 -07:00
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py
docutils.conf
index.rst
Kconfig
Makefile
memory-barriers.txt
SubmittingPatches
subsystem-apis.rst net: remove ISDN subsystem and Bluetooth CMTP 2026-04-23 10:24:02 -07:00