diff --git a/drivers/media/platform/rockchip/isp/capture.c b/drivers/media/platform/rockchip/isp/capture.c index 7bb7a8f6cd67..f186229c807f 100644 --- a/drivers/media/platform/rockchip/isp/capture.c +++ b/drivers/media/platform/rockchip/isp/capture.c @@ -366,7 +366,7 @@ void rkisp_config_dmatx_valid_buf(struct rkisp_device *dev) continue; for (j = RKISP_STREAM_DMATX0; j < RKISP_MAX_STREAM; j++) { stream = &isp->cap_dev.stream[j]; - if (!stream->linked || stream->u.dmatx.is_config) + if (!stream->linked || stream->curr_buf || stream->next_buf) continue; mi_set_y_addr(stream, hw->dummy_buf.dma_addr); } diff --git a/drivers/media/platform/rockchip/isp/rkisp.c b/drivers/media/platform/rockchip/isp/rkisp.c index f3b0948237b1..6afa85ce16b8 100644 --- a/drivers/media/platform/rockchip/isp/rkisp.c +++ b/drivers/media/platform/rockchip/isp/rkisp.c @@ -2737,7 +2737,7 @@ static void rkisp_global_update_mi(struct rkisp_device *dev) if (stream->id == RKISP_STREAM_VIR || stream->id == RKISP_STREAM_LUMA) continue; - if (stream->streaming) + if (stream->streaming && !stream->next_buf) stream->ops->frame_end(stream); } }