> Use request-owned RX storage and separate produced, observed and > consumed positions for shared capture clients. Serialize lifecycle > operations with lifecycle_lock and ACK accounting with the PCM stream > lock. > > Close ACK admission before any sleeping teardown and keep prepare's gate > through the core pointer reset. Reject unavailable epochs with -EBADFD. > Real transfer XRUNs arm stop_operating in ACK and pause/restart > triggers, so DROP and prepare retire the remaining device state. > > Track RELEASE completion and rearm release_required immediately after a > successful resume PREPARE. Publish the resumed prepared state before RX > submission because a device can complete RX before the START response. > Record suspend state even when the stopped stream has no queued > messages. > [ ... ] > access. DRAINING state alone does not authorize access after prepared > has been cleared; retain the explicit PAUSED/RELEASED exception. > > Restore full-ring occupancy after active RESET requeues discarded RX > requests, including native paused RESET. Keep linked XRUNs latched while > PAUSED; publish them after successful resume so the ordinary pointer path > stops the running group. > 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=10
