[PATCH 0/3] media: hws: fix shared IRQ and video quiesce handling

From: Ben Hoff

Date: Mon Sep 14 2026 - 21:06:06 EST


HWS quiescence currently disables a shared IRQ descriptor and calls
vb2_streamoff() without the queue's state mutex. This can prevent other
devices on the interrupt line from being serviced and race userspace
capture operations during suspend or shutdown.

Remove diagnostic register accesses first, then restrict IRQ quiescence
to the HWS function and serialize monitor and queue transitions. Runtime
readiness checks report an unready core without resetting shared hardware
while capture buffers may still be owned by another channel.

Based on media-next/next at b38d06ad1e13 ("media: ipu6: Fix up missing
IWYU issue"). Apply the three patches in order.

AI assistance: OpenAI Codex using GPT-6 assisted with this submission.
Each patch includes Assisted-by: Codex:GPT-6 to identify the agent and model.

Validation:
- Applied and built every patch boundary as an external module with W=1
against the prepared x86_64 kernel, with CONFIG_PM_SLEEP=y.
- Strict checkpatch and git diff --check pass.
- Hardware capture and system-sleep tests have not been run for this
extracted series.

Ben Hoff (3):
media: hws: remove debug controls and lifecycle tracing
media: hws: quiesce interrupts without disabling shared IRQ
media: hws: serialize video quiesce with queue state

drivers/media/pci/hws/hws.h | 2 +
drivers/media/pci/hws/hws_irq.c | 84 +-----------
drivers/media/pci/hws/hws_pci.c | 181 ++++---------------------
drivers/media/pci/hws/hws_v4l2_ioctl.c | 14 --
drivers/media/pci/hws/hws_video.c | 144 ++------------------
5 files changed, 44 insertions(+), 381 deletions(-)


base-commit: b38d06ad1e13c32970d58039c154f009b81a3368