• Sylwester Nawrocki's avatar
    [media] s5p-fimc: fimc-lite: Prevent deadlock at STREAMON/OFF ioctls · 03878bb4
    Sylwester Nawrocki authored
    This patch fixes regression introduced in commit 6319d6a002beb26631
    '[media] fimc-lite: Add ISP FIFO output support'.
    In case of a configuration where video is captured at the video node
    exposed by the FIMC-LITE driver there is a following video pipeline:
    sensor -> MIPI-CSIS.n -> FIMC-LITE.n subdev -> FIMC-LITE.n video node
    In this situation s_stream() handler of the FIMC-LITE.n is called
    back from within VIDIOC_STREAMON/OFF ioctl of the FIMC-LITE.n video
    node, through vb2_stream_on/off(), start/stop_streaming and
    fimc_pipeline_call(set_stream). The fimc->lock mutex is already held
    then, before invoking vidioc_streamon/off. So it must not be taken
    again in the s_stream() callback in this case, to avoid a deadlock.
    This patch makes fimc->out_path atomic_t so the mutex don't need
    to be taken in the FIMC-LITE subdev s_stream() callback in the DMA
    output case.
    Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
    Signed-off-by: default avatarKyugmin Park <kyungmin.park@samsung.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    03878bb4
fimc-lite.h 5.8 KB