On 28/04/2025 10:28, Dikshita Agarwal wrote:
/*
* during stream on, skip destroying internal(DPB) buffer
* if firmware did not return it.
* during close, destroy all buffers irrespectively.
*/
if (!force && buf->attr & BUF_ATTR_QUEUED)
continue;
What's the effect of the firmware not having dequeued the buffer though ?
My main concern here is APSS and firmware have a different view of DMA memory.
We release on the APSS side but firmware has not.
Surely failure to release buffers by the time we get to Linux::close() is a failure of the software contract sufficient to require resetting the firmware ?
i.e. we release memory on the APSS side but firmware writes into it anyway ...
?
--- bod