diff options
| author | Bryan O'Donoghue <[email protected]> | 2016-06-16 13:42:14 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <[email protected]> | 2016-06-16 09:07:41 -0700 |
| commit | c9e8f893eeef4f0e2d10333aed2d175e50a56dab (patch) | |
| tree | 16b39f62e3df322bccd91dbc349bd579a66c44cf /tools/perf/scripts | |
| parent | df124299d1d3e64175c79f83b4ecf2710d202e49 (diff) | |
greybus: timesync: Do not hold mutex on cancel_delayed_work_sync
There is a scenario where gb_timesync_svc_remove() can run, attain a mutex
and call cancel_delayed_work_sync(). In the meantime a worker may already
be running and trying to attain the same mutex but will never do so as the
gb_timesync_svc_remove() path is holding the mutex and waiting on the
delayed_work_sync() to complete - leading to deadlock. This patch addresses
by calling the cancel_delayed_work_sync() before locking the relevant
mutex.
Reported-by: Vaibhav Agarwal <[email protected]>
Signed-off-by: Bryan O'Donoghue <[email protected]>
Reviewed-by: Vaibhav Hiremath <[email protected]>
Tested-by: Vaibhav Hiremath <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'tools/perf/scripts')
0 files changed, 0 insertions, 0 deletions