mirror of
https://github.com/torvalds/linux.git
synced 2024-12-30 14:52:05 +00:00
288eceb085
For some inexplicable reason I decided to call flush_scheduled_work() instead of cancel_delayed_work_sync(). The problem with that is that flush_scheduled_work() waits for *all* queued scheduled work to be completed instead of just the work itself. This can cause a deadlock if a CEC driver also schedules work that takes the same lock. See the comments for flush_scheduled_work() in linux/workqueue.h. This is exactly what has been observed a few times. This patch simply replaces flush_scheduled_work() by cancel_delayed_work_sync(). Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Cc: <stable@vger.kernel.org> # for v5.8 and up Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
||
---|---|---|
.. | ||
cec-adap.c | ||
cec-api.c | ||
cec-core.c | ||
cec-notifier.c | ||
cec-pin-error-inj.c | ||
cec-pin-priv.h | ||
cec-pin.c | ||
cec-priv.h | ||
Makefile |