aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/omap3isp/ispccdc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/omap3isp/ispccdc.c')
-rw-r--r--drivers/media/video/omap3isp/ispccdc.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/media/video/omap3isp/ispccdc.c b/drivers/media/video/omap3isp/ispccdc.c
index 9012b57b3cf0..3663834ca94c 100644
--- a/drivers/media/video/omap3isp/ispccdc.c
+++ b/drivers/media/video/omap3isp/ispccdc.c
@@ -1427,8 +1427,11 @@ static void ccdc_lsc_isr(struct isp_ccdc_device *ccdc, u32 events)
1427 unsigned long flags; 1427 unsigned long flags;
1428 1428
1429 if (events & IRQ0STATUS_CCDC_LSC_PREF_ERR_IRQ) { 1429 if (events & IRQ0STATUS_CCDC_LSC_PREF_ERR_IRQ) {
1430 struct isp_pipeline *pipe =
1431 to_isp_pipeline(&ccdc->subdev.entity);
1432
1430 ccdc_lsc_error_handler(ccdc); 1433 ccdc_lsc_error_handler(ccdc);
1431 ccdc->error = 1; 1434 pipe->error = true;
1432 dev_dbg(to_device(ccdc), "lsc prefetch error\n"); 1435 dev_dbg(to_device(ccdc), "lsc prefetch error\n");
1433 } 1436 }
1434 1437
@@ -1503,7 +1506,7 @@ static int ccdc_isr_buffer(struct isp_ccdc_device *ccdc)
1503 goto done; 1506 goto done;
1504 } 1507 }
1505 1508
1506 buffer = omap3isp_video_buffer_next(&ccdc->video_out, ccdc->error); 1509 buffer = omap3isp_video_buffer_next(&ccdc->video_out);
1507 if (buffer != NULL) { 1510 if (buffer != NULL) {
1508 ccdc_set_outaddr(ccdc, buffer->isp_addr); 1511 ccdc_set_outaddr(ccdc, buffer->isp_addr);
1509 restart = 1; 1512 restart = 1;
@@ -1517,7 +1520,6 @@ static int ccdc_isr_buffer(struct isp_ccdc_device *ccdc)
1517 ISP_PIPELINE_STREAM_SINGLESHOT); 1520 ISP_PIPELINE_STREAM_SINGLESHOT);
1518 1521
1519done: 1522done:
1520 ccdc->error = 0;
1521 return restart; 1523 return restart;
1522} 1524}
1523 1525
@@ -1743,7 +1745,6 @@ static int ccdc_set_stream(struct v4l2_subdev *sd, int enable)
1743 */ 1745 */
1744 ccdc_config_vp(ccdc); 1746 ccdc_config_vp(ccdc);
1745 ccdc_enable_vp(ccdc, 1); 1747 ccdc_enable_vp(ccdc, 1);
1746 ccdc->error = 0;
1747 ccdc_print_status(ccdc); 1748 ccdc_print_status(ccdc);
1748 } 1749 }
1749 1750