]> git.baikalelectronics.ru Git - kernel.git/commit
[media] omap3isp: isp: Reset the ISP when the pipeline can't be stopped
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Tue, 1 Mar 2011 16:43:07 +0000 (13:43 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 17 Apr 2011 10:44:02 +0000 (07:44 -0300)
commit9735e9401ae98b27eb5b5ad5d5a6a83d0a4e159b
tree79708fd709ce5c304b0bfc7d2beaf755d9b02778
parentf4e7d0041ad2f5be704e316357c004021d3cdecb
[media] omap3isp: isp: Reset the ISP when the pipeline can't be stopped

When a failure to stop a module in the pipeline is detected, the only
way to recover is to reset the ISP. However, as other users can be using
a different pipeline with other modules, the ISP can't be reset
synchronously with the error detection.

Mark the ISP as needing a reset when a failure to stop a pipeline is
detected, and reset the ISP when the last user releases the last
reference to the ISP.

Modify the omap3isp_pipeline_set_stream() function to record the new ISP
pipeline state only when no error occurs, except when stopping the
pipeline in which case the pipeline is still marked as stopped.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/omap3isp/isp.c
drivers/media/video/omap3isp/isp.h