[PATCH] staging: vchiq: Fix local event signalling

Stefan Wahren stefan.wahren at i2se.com
Sat Jan 12 00:14:11 UTC 2019


> Phil Elwell <phil at raspberrypi.org> hat am 11. Januar 2019 um 12:34 geschrieben:
> 
> 
> Prior to the recent event reworking (see Fixes), thread synchronisation
> was implemented using completions, the worker thread being woken with
> a call to complete(). The replacement uses waitqueues, which are more
> like condition variables in that the waiting thread is only woken if
> the condition is true.
> 
> When the VPU signals the ARM, it first sets the event's fired flag to
> indicate which event is being signalled, but the places in the
> ARM-side code where the worker thread is being woken -
> remote_event_signal_local via request_poll - did not do so as it
> wasn't previously necessary, and since the armed flag was being
> cleared this lead to a deadlock.
> 
> Fixes: 852b2876a8a8 ("staging: vchiq: rework remove_event handling")
> Signed-off-by: Phil Elwell <phil at raspberrypi.org>

Tested-by: Stefan Wahren <stefan.wahren at i2se.com>

Thanks


More information about the devel mailing list