linux/drivers/media/platform/s5p-jpeg
Alexandre Courbot 17d716e926 [media] s5p-jpeg: fix recursive spinlock acquisition
v4l2_m2m_job_finish(), which is called from the interrupt handler with
slock acquired, can call the device_run() hook immediately if another
context was in the queue. This hook also acquires slock, resulting in
a deadlock for this scenario.

Fix this by releasing slock right before calling v4l2_m2m_job_finish().
This is safe to do as the state of the hardware cannot change before
v4l2_m2m_job_finish() is called anyway.

Signed-off-by: Alexandre Courbot <acourbot@chromium.org>
Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-06-13 13:56:49 -03:00
..
jpeg-core.c [media] s5p-jpeg: fix recursive spinlock acquisition 2017-06-13 13:56:49 -03:00
jpeg-core.h [media] media/platform: convert drivers to use the new vb2_queue dev field 2016-07-08 14:42:09 -03:00
jpeg-hw-exynos4.c [media] squash lines for simple wrapper functions 2016-11-16 13:28:40 -02:00
jpeg-hw-exynos4.h [media] s5p-jpeg: add support for 5433 2015-10-01 08:40:04 -03:00
jpeg-hw-exynos3250.c [media] s5p-jpeg: exynos3250: fix erroneous reset procedure 2015-03-04 08:59:34 -03:00
jpeg-hw-exynos3250.h
jpeg-hw-s5p.c [media] s5p-jpeg: Remove some unused functions 2015-04-07 08:15:15 -03:00
jpeg-hw-s5p.h [media] s5p-jpeg: Remove some unused functions 2015-04-07 08:15:15 -03:00
jpeg-regs.h [media] s5p-jpeg: add support for 5433 2015-10-01 08:40:04 -03:00
Makefile