Hi Takashi, This cumulative resend keeps the twelve-patch series on the same base, a4311e9447bbb219044db38897f95be112f46a8a. It covers PCM stop-threshold sampling, locked partial-progress reporting, the optional reset operation, VirtIO ACK error propagation and recovery, PCM and control DMA ownership, signal-safe teardown, staged capture lifecycle and work prioritization, and capture parameter documentation.
Relative to v17, patch 4 adds the transfer-failure XRUN latch so later completions do not advance PCM accounting after a failed ACK. The existing ACK and prepare recovery behavior is retained. Patch 6's partial-restore rollback and event-message ownership fixes, and patch 9's wait-result type fix, are carried forward unchanged from v17. Patch 7 retains PCM DMA lifetime and fixed-slot completion checks, and now reserves the successfully seeded ordinary capture ring until userspace advances appl_ptr. Patch 10 retains the staged capture lifecycle and paused linked-stream XRUN handling, and restores full-ring accounting after active and native paused RESET requeues completed requests. Validation: - Cumulative stages 04–12 passed incremental ARM64 W=1 builds with KASAN, lockdep, and OSS PCM enabled. - The no-hook production candidate passed ordinary and staged RW/MMAP QEMU capture. The 14-capture sequence verifier passed across both modes, including RESET/reopen boundaries. - A slow-reader QEMU oracle reproduces unread-period overwrite on upstream a4311e9 and v17. The candidate keeps the ring slice unchanged until appl_ptr advances. Separate active and paused RESET pairs reproduce the same baseline issue and show the candidate preserving the unread slice. - Synthetic ACK-failure QEMU probes cover capture, playback, and DRAINING admission. Subsequent virtqueue completions and recovery paths were also exercised. - An exact ALSA-helper model covers partial-period capture accounting. - MMIO rollback, timeout-width, PCI remove/reprobe, and linked paused-XRUN evidence is inherited from the validated v17 candidate for source paths unchanged by v18; the manifest identifies those inherited checks. These are guest QEMU and host-model results. ACK failures were injected by test-only hooks; the returned VirtIO completions were real QEMU events. Physical Virtualization.framework devices and KCSAN were not tested. Previous version: https://lore.kernel.org/linux-sound/[email protected]/ AI assistance was used for analysis, implementation, and test preparation. Assisted-by: LLM Thanks, Joonho base-commit: a4311e9447bbb219044db38897f95be112f46a8a
