> Use the locked PCM reset operation for staged capture. Reclaim RX space > at the same locked pointer observation used by the common reset and keep > completions arriving after that observation. Rebase the notified-period > counter there to avoid replaying old period notifications. > > After common pointer mutation, finish the matching core rebase even if > refill fails. Latch XRUN and schedule notification. RESET can return zero > before the asynchronous error is visible; userspace still needs ordinary > XRUN recovery. A nonblocking read can initially return -EAGAIN and later > -EPIPE. This avoids leaving core and driver positions partly rebased. > > A forced 90 ms RX interval reproduced -EPIPE with the earlier accounting. > The corrected sequence matched the next 48,000 deterministic frames and > passed reopen. Linked RESET and prepare partial-failure fixtures also > passed with atomic and nonatomic stream locking. > > Assisted-by: LLM > Signed-off-by: Joonho Lee <[email protected]>
Sashiko has reviewed this patch and found no issues. -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=13
