Hi Takashi, This cumulative resend keeps the twelve-patch series on the same base, a4311e9447bbb219044db38897f95be112f46a8a. Relative to v20, the source delta is in patch 10. It gates START and PAUSE_RELEASE while PCM prepare is active, before deferred XRUN handling, and repeats the admission check in the native queue and pause/restart helpers. It also retains the stop_operating teardown marker for a stopped stream after pause/restart RELEASE has drained device ownership.
Validation: - ARM64 W=1 incremental module builds passed for cumulative stages 10–12 with KASAN, PROVE_LOCKING, and LOCKDEP. The stage-chain build used an isolated copy of the frozen v20 build cache. - A separate candidate-only hook build passed five bounded lifecycle assertions for prepare-time admission and paused teardown-marker retention. - A clean no-hook QEMU capture-only run passed RW and MMAP pause/resume, DROP/PREPARE/restart, and close/reopen flows. - Ordinary and staged capture passed RW and MMAP reset/reopen runs. The 14-capture oracle matched the QEMU sample sequence. Lifecycle attribution is static against the immutable v20 source; no vulnerable-baseline race reproduction was performed. The combined lifecycle and playback healthy fixture exited 1 because its playback probe failed at raw HWSYNC with -EINVAL before attempting pause; that run is excluded from the PASS claims. No physical-device validation or KCSAN run was performed. Previous version: https://lore.kernel.org/r/[email protected]/ AI assistance was used for analysis, implementation, and test preparation. Assisted-by: LLM Thanks, Joonho base-commit: a4311e9447bbb219044db38897f95be112f46a8a
