bugfix for buffer change (bug exposed by this branch)
I'm unable to backport this commit to the proper place (too many conflicts). Anyways, this fixes an issue related to changing the buffer type (nothing bad happens if you don't change buffer type). The bug is exposed by the self-timed csets: when a buffer type is being changed, the trigger may be armed. This means that a block is being used by the device, but the hosting buffer instance is being destroyed. This commit aborts a trigger and keeps it disabled while the buffer is being changed. Re-enabling later, unless it was already disabled. Even without self-timed support there was a tiny window for the race to appear. Now it's fixed forever. Signed-off-by:Alessandro Rubini <rubini@gnudd.com> Acked-by:
Federico Vaga <federico.vaga@gmail.com>
Please register or sign in to comment