From fc49b7fcd0ff9e5d89ff21295085a5d5d1c25376 Mon Sep 17 00:00:00 2001 From: Cai YiWei Date: Mon, 21 Aug 2023 16:05:00 +0800 Subject: [PATCH] media: rockchip: isp: fix list buf delete err list_del error for curr_buf to buf_queue list and buf_done_list pc : list_del+0x4/0x24 lr : destroy_buf_queue+0x170/0x188 Change-Id: Iede1ab20e30d25f4059b39e7896e1a89b3f03f67 Signed-off-by: Cai YiWei --- drivers/media/platform/rockchip/isp/capture_v30.c | 3 +++ drivers/media/platform/rockchip/isp/capture_v32.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/drivers/media/platform/rockchip/isp/capture_v30.c b/drivers/media/platform/rockchip/isp/capture_v30.c index a1ab22488e5f..62a8ae82d343 100644 --- a/drivers/media/platform/rockchip/isp/capture_v30.c +++ b/drivers/media/platform/rockchip/isp/capture_v30.c @@ -977,7 +977,10 @@ static int mi_frame_end(struct rkisp_stream *stream, u32 state) (stream->frame_early && state == FRAME_IRQ)) goto end; } else { + spin_lock_irqsave(&stream->vbq_lock, lock_flags); buf = stream->curr_buf; + stream->curr_buf = NULL; + spin_unlock_irqrestore(&stream->vbq_lock, lock_flags); } if (buf) { diff --git a/drivers/media/platform/rockchip/isp/capture_v32.c b/drivers/media/platform/rockchip/isp/capture_v32.c index 0bc5b80f4a25..1d3891ff3744 100644 --- a/drivers/media/platform/rockchip/isp/capture_v32.c +++ b/drivers/media/platform/rockchip/isp/capture_v32.c @@ -1408,7 +1408,10 @@ static int mi_frame_end(struct rkisp_stream *stream, u32 state) (stream->frame_early && state == FRAME_IRQ)) goto end; } else { + spin_lock_irqsave(&stream->vbq_lock, lock_flags); buf = stream->curr_buf; + stream->curr_buf = NULL; + spin_unlock_irqrestore(&stream->vbq_lock, lock_flags); } if (buf) {