On Tue, 03 Jun 2025 12:09:44 +0100 Liviu Dudau <liviu.du...@arm.com> wrote: > On Tue, Jun 03, 2025 at 10:49:31AM +0100, Ashley Smith wrote: > > This fixes a bug where if we timeout after a suspend and the termination > > fails, due to waiting on a fence that will never be signalled for > > example, we do not resume the group correctly. The fix forces a reset > > for groups that are not terminated correctly. > > I have a question on the commit message: you're describing a situation where > a fence will *never* be signalled. Is that a real example? I thought this is > not supposed to ever happen! Or are you trying to say that the fence > signalling > happens after the timeout?
This covers cases where a fence is never signalled. It shouldn't happen, but we have found this in some situations with a FW hang. Since queue_suspend_timeout() is only called on state update, if a suspend/terminate fails due to a FW hang for example this will leave delayed work, possibly leading to an incorrect queue_timeout_work(). Maybe I should not have used the word bug, it's more choosing a failsafe path.