> Phil Elwell <phil@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx> Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Thanks _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel