Daily update · Aug 7–8, 2026
Mainline driver fixes: AMD GPU, hwmon, watchdogs, and pinctrl
A bug-fix-heavy day: amdgpu JPEG resets and coredump hardening, hwmon correctness fixes, watchdog teardown fixes, and a locally triggerable amxdna crash fix.
In brief
Today's mainline commits are almost entirely driver bug fixes rather than new features. AMD GPU work dominates, covering JPEG engine recovery, command-submission validation, crash-dump allocation, and display/teardown follow-ups, while hwmon, watchdog, Qualcomm pinctrl, ATA, and amxdna drivers also receive corrections.
Bug fixes
amdgpu: JPEG reset fixes in DPG mode
In dynamic power-gating (DPG) mode, the JPEG engine's queue-reset path only cleared a power-gating bit and never reset a hung JPEG core, so recovery could time out. These patches temporarily force the static power-gating path so the stop/start sequence power-cycles the block, matching the v4.0 reset code.
Why it matters: More reliable recovery from hung JPEG engines on affected AMD GPUs.
amdgpu: command submission, coredump, and gfx12 hardening
Amdgpu gets several reliability fixes: oversized command buffers (IBs) are now rejected using per-ring packet limits, user-queue creation is serialized against GPU resets so MES timeouts don't fail valid creates, gfx12 reads the TRUNCATE_COORD_MODE register to report the conformant texture-coordinate flag, gmc12.1 TLB invalidation gains a semaphore and fixes an MMHUB0/1 typo, and coredump ring buffers are allocated per ring with vmalloc fallback so large dumps no longer fail as a single huge allocation. A lockdep false-positive in amdgpu_lockdep_init is also fixed.
Why it matters: Targets hangs, crashes, and missing crash-dump data on newer AMD GPUs, and restores a userspace-visible conformance flag on gfx12.
2d69604b4d0bcda6ab11c1a2384c1d907eebb77a725e50c8fd37f9dd5b5ab88a5a43c070e40ff9840fa85227c2c77c38
amdgpu display, teardown, and radeon fixes
Display and teardown paths get fixes: Cyan Skillfish disables DP audio spread-spectrum compensation because the hardware doesn't actually downspread, DCE110 checks that its timing-generator ops exist to avoid a NULL dereference on Southern Islands when turning off HDMI, self-refresh exit is allowed while entry is blocked, and the aperture iounmap is no longer skipped on device removal, which had left stale WB mappings that broke re-probe. A prior 'aperture mapping leak' fix is reverted because devres LIFO teardown could unmap the aperture before IP fini callbacks used it. The old radeon driver also restores hardware polling in fence_is_signaled, fixing a performance regression.
Why it matters: Avoids display-off crashes on older GPUs, re-probe failures, and a performance regression in radeon.
ff209cd04845b96c529cd2553141e3d61469f9e5f51549008099bd0864655f08eee9c3fb
Other DRM fixes (Panthor, V3D, Xe, ps8640)
Panthor and the shared GEM shmem helper now check VMA boundaries before installing PMD (2 MiB) huge-page mappings, avoiding a VM_BUG_ON for out-of-range faults; Panthor also skips zero-sized firmware sections instead of keeping NULL entries that crash reload and unplug. The ps8640 DisplayPort bridge propagates AUX transfer register errors, the V3D driver serializes its scheduler timeout handlers because a timeout on any queue triggers a global reset, and two Xe fixes cover a memory leak in exec-queue hang-replay state and missing RCS/CCS yield-policy application for SR-IOV virtual functions.
Why it matters: Mostly crash and hang fixes for Arm GPUs (Panthor, V3D), Intel Xe, and the ps8640 bridge chip.
2b8f13d3c7e2e0d2b5902c5c617bbd08714820697ecb299c4da94744707bc5f500161709d1643db3b037
pmbus core and LM25066 fixes
PMBus is a protocol for power-supply monitoring chips. The core driver now takes locks during probe-time SMBALERT mask setup and debugfs init, and fixes a type confusion in its notification loop where attributes could be misread as a different struct. The LM25066 driver fixes 32-bit overflow when scaling current/power coefficients for large shunt-resistor values from device tree.
Why it matters: Prevents races, crashes, and wrong current/power readings on supported PMBus devices.
Corsair PSU, LTC4282, and other hwmon fixes
Corsair PSU fixes cover a possible out-of-bounds string read in debugfs, a missing lock that allowed debugfs reads to land between another reader's rail-select and value read (reporting the wrong rail), and wrong decoding of negative temperatures in Linear11 format. The NZXT Smart2 driver now propagates initialization failures, ADS7828 properly gets and enables its external voltage-reference regulator, and LTC4282 gets fixes for a 32-bit overflow in maximum power, negative current limits wrapping to large values, and device-tree property parsing that checked the wrong variable.
Why it matters: Avoids wrong readings, hangs, and rare out-of-bounds access on these sensor and PSU devices.
d533882ce10636c4d73ce05d2da6050809d4c6c4234928d2fddb5ceaf901edd11a943357e253dd5f9f6d335698fd7f60
Watchdog fixes
Three watchdog driver fixes: atcwdt200 returns a proper error code when the watchdog is already enabled at probe instead of a bogus enum value, bd96801 computes heartbeat timeout limits correctly for watchdogs enabled at probe (the previous math used wrong multipliers), and at91sam9_wdt uses timer_shutdown_sync() on teardown so the ping callback can't rearm the timer after driver memory is freed.
Why it matters: Prevents probe failures, misconfigured watchdog timeouts, and use-after-free on teardown.
Qualcomm pinctrl fixes
Pinctrl drivers describe how each GPIO pin can be muxed to different functions. On IPQ9650, two audio MCLK groups pointed at the wrong GPIO, making those mux selections fail; they're corrected to gpio39. On IPQ806x, the GPIO function and the PCIe reset function are now marked as GPIO-mode functions, matching other Qualcomm drivers, so strict pinmux checks don't reject valid device-tree configurations.
Why it matters: Restores audio MCLK muxing on some IPQ9650 boards and prevents pinmux rejections on IPQ806x.
ATA fixes
libata-core adds a quirk disabling link power management (LPM) for the WDC WD141KFGX-68FH9N0 drive after a user bug report, and the pata_sl82c105 driver reads the PCI bridge revision before dropping its reference, fixing a use-after-free.
Why it matters: Avoids LPM problems on that WDC drive and a potential crash on sl82c105 PATA systems.
amxdna accelerator crash fixes
Two fixes for the AMD amxdna AI-accelerator driver. One removes a manual vm_ops->close() call on error paths that could underflow reference counts when the VMA is later torn down. The other fixes a locally triggerable BUG_ON: an unprivileged process could mmap a GEM object, call madvise(MADV_DONTNEED), then access the memory to hit a kernel assertion and crash the system.
Why it matters: Fixes crash bugs on systems using this accelerator, including one a local user could trigger.
Source commits45 entries +
drm/shmem_helper: Check VMA boundaries for PMD mappings
Christian A. Ehrhardt · Jun 22, 2026 · 1 files
drm/panthor: Check VMA boundaries for PMD mappings
Christian A. Ehrhardt · Jun 23, 2026 · 1 files
drm/xe: Fix memory leak in exec_queue_set_hang_replay_state()
Michał Winiarski · Jun 24, 2026 · 1 files
drm/xe/uc: Apply RCS/CCS yield policy to SR-IOV VFs
Marcin Bernatowicz · Jul 9, 2026 · 1 files
pinctrl: qcom: ipq9650: fix audio_sec_mclk_in1/out1 group pins
Taceddin Sancak · Jul 18, 2026 · 1 files
pinctrl: qcom: ipq806x: mark gpio as a GPIO pin function
Hans Ulli Kroll · Jul 19, 2026 · 2 files
pinctrl: qcom: ipq806x: mark pci reset as a GPIO pin function
Hans Ulli Kroll · Jul 19, 2026 · 1 files
watchdog: atcwdt200: fix return value when watchdog is enabled
Surendra Singh Chouhan · Jul 23, 2026 · 1 files
drm/bridge: ps8640: propagate AUX transfer register errors
Pengpeng Hou · Jul 23, 2026 · 1 files
accel/amxdna: Fix page-insertion errors in amdxdna_insert_pages()
Lizhi Hou · Jul 23, 2026 · 1 files
drm/amdgpu: read TRUNCATE_COORD_MODE on gfx12
Qiang Yu · Jul 23, 2026 · 1 files
hwmon: (pmbus) Fix type confusion in notification logic
Guenter Roeck · Jul 23, 2026 · 1 files
drm/panthor: skip zero-sized firmware sections
Osama Abdelkader · Jul 24, 2026 · 1 files
drm/amdgpu/gmc12.1: fix MMHUB0 check in pasid tlb flush
Alex Deucher · Jul 28, 2026 · 1 files
drm/v3d: Serialize the scheduler timeout handlers
Maíra Canal · Jul 29, 2026 · 2 files
drm/amdgpu: Use virtual alloc during coredump
Lijo Lazar · Jul 29, 2026 · 1 files
drm/amdgpu: fix JPEG v4.0.5 queue reset failure in DPG mode
Jesse Zhang · Jul 29, 2026 · 1 files
drm/amdgpu: fix JPEG v5.0.0 queue reset failure in DPG mode
Jesse Zhang · Jul 29, 2026 · 1 files
drm/amdgpu: fix JPEG v5.3.0 queue reset failure in DPG mode
Jesse Zhang · Jul 29, 2026 · 1 files
drm/radeon: restore hardware polling in fence_is_signaled to fix performance regression
Wang Jiang · Jul 29, 2026 · 1 files
drm/amdgpu: Allocate coredump ring buffers per ring
Lijo Lazar · Jul 29, 2026 · 2 files
drm/amdgpu: reject oversized IBs with per-ring packet limits
Candice Li · Jul 30, 2026 · 1 files
drm/amd/display: allow self-refresh exit while entry is blocked
David Weber · Jul 30, 2026 · 1 files
Revert "drm/amdgpu: fix aperture mapping leak"
Asad Kamal · Jul 30, 2026 · 2 files
drm/amdgpu: fix aperture iounmap skipped on device removal
Asad Kamal · Jul 30, 2026 · 1 files
drm/amdgpu/gmc12.1: implement tlb inv semaphore
Alex Deucher · Jul 30, 2026 · 1 files
watchdog: bd96801_wdt: Fix timeout for enabled WDG
Matti Vaittinen · Jul 31, 2026 · 1 files
accel/amdxdna: Fix locally exploitable BUG_ON in amdxdna_insert_pages()
Lizhi Hou · Jul 31, 2026 · 1 files
drm/amdgpu: Fix lockdep false positive in amdgpu_lockdep_init
Vitaly Prosyak · Aug 1, 2026 · 1 files
drm/amdgpu/userq: serialize queue map against GPU reset
Jesse Zhang · Aug 3, 2026 · 1 files
ata: libata-core: Disable LPM on WDC WD141KFGX-68FH9N0
Niklas Cassel · Aug 3, 2026 · 1 files
hwmon: (pmbus/core) Avoid race condition during probe
Guenter Roeck · Aug 3, 2026 · 1 files
drm/amd: Disable DP audio spread spectrum for Cyan Skillfish
Travis K. Bangs · Aug 3, 2026 · 1 files
hwmon: (corsair-psu) Fix linear11 calculation
Guenter Roeck · Aug 4, 2026 · 1 files
hwmon: (nzxt-smart2) Check return value of init_device() in probe
Qingshuang Fu · Aug 4, 2026 · 1 files
hwmon: (pmbus/lm25066) Fix PMBus coefficient calculations
Guenter Roeck · Aug 4, 2026 · 1 files
hwmon: (ltc4282) Avoid overflow in maximum power calculation
Guenter Roeck · Aug 4, 2026 · 1 files
hwmon: (ltc4282) Clamp negative current limits
Guenter Roeck · Aug 4, 2026 · 1 files
hwmon: (ltc4282) Fix parsing adi,current-limit-sense-microvolt
Guenter Roeck · Aug 5, 2026 · 1 files
drm/amd/display: Check for tg ops in dce110_set_avmute
Ray Wu · Aug 5, 2026 · 1 files
hwmon: (ads7828) Fix external VREF regulator handling
Qingshuang Fu · Aug 5, 2026 · 1 files
hwmon: (corsair-psu) fix possible out-of-bounds access on missing string termination
Wilken Gottwalt · Aug 5, 2026 · 1 files
watchdog: at91sam9_wdt: prevent timer rearm during teardown
Hongyan Xu · Aug 6, 2026 · 1 files
ata: pata_sl82c105: fix bridge revision use-after-free
Hongyan Xu · Aug 6, 2026 · 1 files
hwmon: (corsair-psu) serialize debugfs access against hwmon
Ali Ahmet Memis · Aug 6, 2026 · 1 files