[GIT PULL] HID subsystem queue for 7.3 merge window
From: Jiri Kosina
Date: Wed Aug 19 2026 - 03:46:34 EST
Linus,
please pull from
git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git tags/hid-for-linus-2026081901
to receive HID subsystem queue for the current merge window, namely:
=====
Core:
- fix long-standing force-feedback initialization race across the
subsystem (Dmitry Torokhov)
- switch to system_dfl_wq (Marco Crivellari)
AMD-SFH:
- support for tablet-mode switch for AMD SFH-based systems (Basavaraj
Natikar)
HyperX:
- support for HyperX QuadCast 2 (Benjamin Blume)
I2C-HID:
- support for devices that provide HID descriptor solely through
ACPI _DSM method (XIE Zhibang)
Intel-THC-HID:
- support for full I2C bus config parameters (Even Xu)
Logitech:
- HID++ 2.0 repogrammable button support (Elliot Douglas)
- Bolt receiver support for HID++ devices (Erik Håkansson)
MSI:
- support for MSI Claw (Derek J. Clark)
Steam:
- initial support for 2026 Steam Controller (Vicki Pfau)
- support for sensor events on the 2025 Steam Controller (Vicki Pfau)
And many, many other fixes for various long standing issues that were
found by new modern tools, and quite a few device ID additions.
=====
Thanks!
----------------------------------------------------------------
Aaron Ma (1):
HID: quirks: Add ALWAYS_POLL quirk for Beitong BTP-KP20D dongle
Ai Chao (1):
HID: i2c-hid: Fix "(null)" output when reading report descriptor fails
Alexandre Derumier (1):
HID: nintendo: fix rumble starved by the input report cadence gate
Andre Eikmeyer (2):
HID: apple: preserve keyboard backlight across T2 resume
HID: apple: use the standard keyboard backlight LED name
Andrei Fed (1):
HID: magicmouse: fix battery reporting for Bluetooth Magic Trackpad USB-C
Basavaraj Natikar (5):
HID: amd_sfh: Track MP2 version explicitly
HID: amd_sfh: Serialize access to the shared emp2 pointer
HID: amd_sfh: Add accessor to read the operating-mode sensor
HID: amd_sfh: Register tablet-mode auxiliary device
Input: misc: Add AMD SFH tablet-mode switch driver
Baul Lee (3):
HID: pidff: fix OOB write when hid->inputs is empty
HID: core: fix OOB read of field->usage in hid_set_field()
HID: universal-pidff: stop the device when force-feedback init fails
Benjamin Blume (1):
HID: hyperx: add driver for the HyperX QuadCast 2 mute button
Chao Huang (1):
HID: i2c-hid: goodix: Disable VDD on VDDIO enable failure
Chen Changcheng (3):
HID: amd_sfh: clear hid_sensor_hubs entry on probe failure
HID: corsair: fix use-after-free by reordering remove sequence
HID: corsair: cancel worker before unregistering LED to fix use-after-free
Christopher Kodama (1):
HID: magicmouse: re-enable multitouch after reset-resume
Christos Maragkos (1):
HID: nintendo: Fix imu_timestamp_us double increment per report
Colin Blower (1):
HID: logitech-dj: Add support for G915 TKL receiver 0xc545
David Glushkov (1):
HID: steelseries: Add MSI Raider A18 HX A9WJG RGB support
Denis Benato (4):
HID: asus: refactor the two workqueues and init sequence
HID: asus: remove extraneous OOM error
HID: asus: fix a off-by-one in mcu_parse_version_string() validation
HID: asus: add i2c entry for FA808UM and other TUFs
Derek J. Clark (4):
HID: hid-msi: Add MSI Claw configuration driver
HID: hid-msi: Add M-key mapping attributes
HID: hid-msi: Add RGB control interface
HID: hid-msi: Add Rumble Intensity Attributes
Dmitry Torokhov (21):
HID: core: automatically initialize generic FF if no other FF is present
HID: add documentation and Coccinelle script for FF registration race
HID: axff: move FF initialization to .input_configured()
HID: betop: move FF initialization to .input_configured()
HID: bigben: move FF initialization to .input_configured()
HID: dragonrise: move FF initialization to .input_configured()
HID: emsff: move FF initialization to .input_configured()
HID: gaff: move FF initialization to .input_configured()
HID: stadia: use open/close to manage workqueue lifecycle
HID: stadia: move FF initialization to .input_configured()
HID: holtek: move FF initialization to .input_configured()
HID: move generic FF initialization into hidinput_connect()
HID: microsoft: move FF initialization to .input_configured()
HID: pantherlord: move FF initialization to .input_configured()
HID: thrustmaster: move FF initialization to .input_configured()
HID: zeroplus: move FF initialization to .input_configured()
HID: mayflash: move FF initialization to .input_configured()
HID: smartjoyplus: move FF initialization to .input_configured()
HID: megaworld: move FF initialization to .input_configured()
HID: logitech-hidpp: move FF initialization to .input_configured()
HID: haptic: move FF initialization into .input_configured()
Doruk Tan Ozturk (2):
HID: sony: clean up device list on probe failure
HID: sony: fix UAF of ghl_poke_timer / ghl_urb at driver unbind
Elliot Douglas (2):
HID: logitech-hidpp: add HID++ 2.0 reprogrammable button support
HID: logitech-hidpp: enable reprogrammable buttons on Signature M650
Erik Håkansson (1):
HID: logitech: add Bolt receiver support for Logitech HID++ devices
Even Xu (5):
HID: Intel-thc-hid: Intel-thc: Refactor I2C bus configuration with unified config structure
HID: Intel-thc-hid: Intel-quicki2c: Support full I2C BUS config parameters
HID: Intel-thc-hid: Intel-thc: Add API to reset read DMA
HID: Intel-thc-hid: Intel-quicki2c: Refine recover callback
HID: Intel-thc-hid: Intel-quickspi: Refine recover callback
Guangshuo Li (2):
HID: intel-thc-hid: intel-quicki2c: fix autosuspend cleanup during teardown
HID: intel-thc-hid: intel-quickspi: fix autosuspend cleanup during teardown
Haoxiang Li (3):
HID: logitech-hidpp: Fix FF device cleanup on init failure
HID: sensor: custom: Fix use-after-free in enable_sensor
HID: sensor: custom: Fix field sysfs group cleanup on failure
HyeongJun An (2):
HID: intel-thc-hid: intel-quickspi: validate report size before copy
HID: intel-thc-hid: intel-quickspi: bound GET_REPORT response to the caller buffer
Ibrahim Hashimov (3):
HID: nintendo: fix out-of-bounds read in joycon_ctlr_read_handler()
HID: picolcd: clamp eeprom debugfs read to bytes actually received
HID: uclogic: fix use-after-free of inrange_timer on remove
Jann Horn (4):
HID: asus: fix missing hid_is_usb() check
HID: huawei: fix missing hid_is_usb() check
HID: rapoo: fix missing hid_is_usb() check
HID: core: fix number/pointer type confusion on long items
Jiancheng Huang (1):
HID: lg4ff: validate report length before fixed offsets
Jiangshan Yi (5):
HID: nintendo: stop device IO before hid_hw_stop on probe failure
HID: mcp2221: stop device IO before hid_hw_stop
HID: mcp2221: clear rxbuf after I2C/SMBus transfer completes
HID: mcp2221: validate report size in mcp2221_raw_event()
HID: nintendo: register input device after capabilities are set
Jose Villaseñor Montfort (3):
HID: magicmouse: prevent unbounded recursion in magicmouse_raw_event()
HID: magicmouse: do not keep a stale msc->input if no input is claimed
HID: input: read battery capacity from its actual report offset
Karl Mehltretter (1):
HID: haptic: don't write an uninitialized value to unhandled usages
Konrad Dybcio (1):
HID: asus: support the Zenbook A16 (UX3607OA) keyboard
Linmao Li (1):
HID: tmff: Use 64-bit arithmetic for force feedback scaling
Marco Crivellari (2):
HID: hid-oxp: Replace system_wq with system_dfl_wq
HID: appletb-kdb: Replace system_wq with system_dfl_wq
Michael Bommarito (4):
HID: roccat: bound device-supplied profile index
HID: roccat: add KUnit test for kone profile-index bounds
HID: hyperv: validate initial device info bounds
HID: hyperv: add KUnit coverage for device info bounds
Michal Slustik (1):
HID: apple: Add Endorfy Thock TKL Wireless to the non-apple keyboard list
Pan Chuang (4):
HID: amd_sfh: Remove redundant dev_err()
HID: hid-goodix: Remove redundant dev_err()
HID: intel-ish-hid: ipc: Remove redundant dev_err()
HID: Intel-thc-hid: Remove redundant dev_err()
Pengpeng Hou (2):
HID: amd_sfh: return an error when response wait times out
HID: rmi: check report length before trimming sentinel bytes
Philipp Weber (1):
HID: core: quiesce input in hid_hw_stop() to prevent use-after-free
Raman Varabets (2):
HID: ft260: fix SMBus block read protocol handling
HID: ft260: fix stack-use-after-return write in I2C read race
Rosalie Wanders (5):
HID: sony: use dedicated raw_event() handlers in sony_raw_event()
HID: sony: use guard() and scoped_guard()
HID: sony: remove unneeded which argument from sony_schedule_work()
HID: sony: use devm_kasprintf()
HID: sony: add missing __packed to struct with static_assert()
Ruoyu Wang (1):
HID: wacom: avoid copying Bluetooth input reports
Sriman Achanta (8):
HID: steelseries: Fix ARCTIS_1_X device mislabeling
HID: steelseries: Split Arctis headset driver into separate module
HID: steelseries: Refactor Arctis driver to use device_info framework
HID: steelseries: Report POWER_SUPPLY_STATUS_FULL when full
HID: steelseries: Correct Arctis 9 battery calibration range
HID: steelseries: Manage battery lifetime with refcounting
HID: steelseries: Add async status interface support
HID: steelseries: Add support for Arctis Nova 5X and Nova 7 families
Stuart Hayhurst (3):
HID: corsair-void: Check size of status and firmware events before reading them
HID: logitech-hidpp: Add support for G502 X Plus USB mouse
HID: logitech-hidpp: Remove duplicate ID for the G703 Hero over USB
Vicki Pfau (18):
HID: core: Expose id attributes in sysfs
HID: steam: Update documentation
HID: steam: Refactor and clean up report parsing
HID: steam: Rename some constants that got renamed upstream
HID: steam: Add support for sensor events on the Steam Controller (2015)
HID: steam: Coalesce rumble packets
HID: steam: Fully unregister controller when hidraw is opened
HID: steam: Rearrange teardown sequence
HID: steam: Improve logging and other cleanup
HID: steam: Zero-initialize reply in serial lookup
HID: steam: Reject short reads
HID: steam: Retry send/recv reports if stale
HID: steam: Refactor registration
HID: steam: Initial 2026 Steam Controller support
HID: steam: Fix wording of connect/disconnect logs
HID: steam: Don't set feature reports when disconnecting
HID: steam: Clean up locking
HID: steam: Zero out inputs when disabling gamepad mode
Wahid Khan (1):
HID: intel-ish-hid: ignore post-init ENUM_DEVICES from firmware
Xianglin Lin (1):
HID: multitouch: reclassify HTIX5288 to WIN_8_FORCE_MULTI_INPUT_NSMU
Xingrui Li (1):
HID: sensor-hub: Fix out-of-bounds write in sensor_hub_get_feature
Xu Rao (1):
HID: roccat: free buffered reports when destroying device
Yousef Alhouseen (1):
HID: synchronize input before cleaning up a failed probe
Yuxiang Lin (1):
HID: quirks: add ALWAYS_POLL quirk for AULA Mini 60 HE Pro Dongle
谢致邦 (XIE Zhibang) (1):
HID: i2c-hid: Refactor _DSM helper and add i2c-hid-acpi-prp0001 driver
Documentation/hid/hidintro.rst | 50 +
MAINTAINERS | 19 +
drivers/hid/Kconfig | 46 +
drivers/hid/Makefile | 4 +-
drivers/hid/amd-sfh-hid/Kconfig | 1 +
drivers/hid/amd-sfh-hid/amd_sfh_client.c | 16 +
drivers/hid/amd-sfh-hid/amd_sfh_common.h | 13 +
drivers/hid/amd-sfh-hid/amd_sfh_hid.c | 16 +-
drivers/hid/amd-sfh-hid/amd_sfh_pcie.c | 76 +-
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.c | 39 +
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_interface.h | 1 -
drivers/hid/hid-apple.c | 22 +-
drivers/hid/hid-appletb-kbd.c | 6 +-
drivers/hid/hid-asus.c | 421 ++--
drivers/hid/hid-axff.c | 40 +-
drivers/hid/hid-betopff.c | 33 +-
drivers/hid/hid-bigbenff.c | 89 +-
drivers/hid/hid-core.c | 73 +-
drivers/hid/hid-corsair-void.c | 17 +
drivers/hid/hid-corsair.c | 9 +-
drivers/hid/hid-dr.c | 66 +-
drivers/hid/hid-emsff.c | 50 +-
drivers/hid/hid-ft260.c | 70 +-
drivers/hid/hid-gaff.c | 53 +-
drivers/hid/hid-goodix-spi.c | 5 +-
drivers/hid/hid-google-stadiaff.c | 112 +-
drivers/hid/hid-haptic.c | 47 +-
drivers/hid/hid-haptic.h | 6 +-
drivers/hid/hid-holtekff.c | 46 +-
drivers/hid/hid-huawei.c | 5 +-
drivers/hid/hid-hyperv.c | 144 +-
drivers/hid/hid-hyperx.c | 117 ++
drivers/hid/hid-ids.h | 36 +-
drivers/hid/hid-input.c | 41 +-
drivers/hid/hid-lg4ff.c | 8 +
drivers/hid/hid-logitech-dj.c | 52 +-
drivers/hid/hid-logitech-hidpp.c | 339 +++-
drivers/hid/hid-magicmouse.c | 73 +-
drivers/hid/hid-mcp2221.c | 17 +-
drivers/hid/hid-megaworld.c | 51 +-
drivers/hid/hid-mf.c | 77 +-
drivers/hid/hid-microsoft.c | 38 +-
drivers/hid/hid-msi.c | 2063 ++++++++++++++++++++
drivers/hid/hid-multitouch.c | 12 +-
drivers/hid/hid-nintendo.c | 62 +-
drivers/hid/hid-oxp.c | 8 +-
drivers/hid/hid-picolcd_debugfs.c | 9 +
drivers/hid/hid-pl.c | 150 +-
drivers/hid/hid-quirks.c | 19 +-
drivers/hid/hid-rapoo.c | 2 +-
drivers/hid/hid-rmi.c | 2 +-
drivers/hid/hid-roccat-kone.c | 65 +-
drivers/hid/hid-roccat.c | 13 +-
drivers/hid/hid-sensor-custom.c | 26 +-
drivers/hid/hid-sensor-hub.c | 42 +-
drivers/hid/hid-sjoy.c | 83 +-
drivers/hid/hid-sony.c | 276 +--
drivers/hid/hid-steam.c | 1634 ++++++++++++----
drivers/hid/hid-steelseries-arctis.c | 718 +++++++
drivers/hid/hid-steelseries.c | 523 +++--
drivers/hid/hid-tmff.c | 56 +-
drivers/hid/hid-uclogic-core.c | 12 +-
drivers/hid/hid-universal-pidff.c | 4 +-
drivers/hid/hid-zpff.c | 43 +-
drivers/hid/i2c-hid/Makefile | 2 +-
drivers/hid/i2c-hid/i2c-hid-acpi-prp0001.c | 104 +
drivers/hid/i2c-hid/i2c-hid-acpi.c | 52 +-
drivers/hid/i2c-hid/i2c-hid-acpi.h | 33 +
drivers/hid/i2c-hid/i2c-hid-core.c | 2 +-
drivers/hid/i2c-hid/i2c-hid-of-goodix.c | 4 +-
drivers/hid/intel-ish-hid/ipc/pci-ish.c | 4 +-
drivers/hid/intel-ish-hid/ishtp-hid-client.c | 5 +-
.../intel-thc-hid/intel-quicki2c/pci-quicki2c.c | 118 +-
.../intel-thc-hid/intel-quicki2c/quicki2c-dev.h | 19 +-
.../intel-thc-hid/intel-quickspi/pci-quickspi.c | 86 +-
.../intel-thc-hid/intel-quickspi/quickspi-dev.h | 7 +
.../intel-thc-hid/intel-quickspi/quickspi-hid.c | 2 +-
.../intel-quickspi/quickspi-protocol.c | 19 +-
.../intel-quickspi/quickspi-protocol.h | 2 +-
.../hid/intel-thc-hid/intel-thc/intel-thc-dev.c | 69 +-
.../hid/intel-thc-hid/intel-thc/intel-thc-dev.h | 23 +-
.../hid/intel-thc-hid/intel-thc/intel-thc-dma.c | 51 +
.../hid/intel-thc-hid/intel-thc/intel-thc-dma.h | 1 +
drivers/hid/intel-thc-hid/intel-thc/intel-thc-hw.h | 3 +
drivers/hid/usbhid/hid-pidff.c | 13 +-
drivers/hid/wacom_wac.c | 8 +-
drivers/input/misc/Kconfig | 15 +
drivers/input/misc/Makefile | 1 +
drivers/input/misc/amd_sfh_tabletmode.c | 81 +
include/linux/amd-pmf-io.h | 14 +
include/linux/hid.h | 4 +-
scripts/coccinelle/hid/ff_race.cocci | 34 +
92 files changed, 7093 insertions(+), 1949 deletions(-)
create mode 100644 drivers/hid/hid-hyperx.c
create mode 100644 drivers/hid/hid-msi.c
create mode 100644 drivers/hid/hid-steelseries-arctis.c
create mode 100644 drivers/hid/i2c-hid/i2c-hid-acpi-prp0001.c
create mode 100644 drivers/hid/i2c-hid/i2c-hid-acpi.h
create mode 100644 drivers/input/misc/amd_sfh_tabletmode.c
create mode 100644 scripts/coccinelle/hid/ff_race.cocci
--
Jiri Kosina
SUSE Labs