Vector resize triggers errors in dma, scratch
Creating an async request from a dma or a scratch can cause the internal request vector of these facilities to be resized, if the vector was created too small in the first place.
realloc, all the pointers into that vector can become invalid (realloc in a different place). In which case, all the async request structs will now be point into invalid memory.
Versions affected: all
Solution: the easiest solution I see is to convert
struct aml_dma_request into an
int "request id", and remove pointers in user code into the request vector.