From bfc144014997a037ad7c6cef954132e9ff22b437 Mon Sep 17 00:00:00 2001 From: jlui Date: Fri, 10 Oct 2025 15:11:58 +0800 Subject: [PATCH] queue: fix kernel panic during multiple streams recovery A kernel panic is observed in the next stream when the previous multiple concurrent streams are both unexpectedly terminated at the same time. --- drivers/media/pci/intel/ipu7/ipu7-isys-queue.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/media/pci/intel/ipu7/ipu7-isys-queue.c b/drivers/media/pci/intel/ipu7/ipu7-isys-queue.c index ab12439..d4e2bf3 100644 --- a/drivers/media/pci/intel/ipu7/ipu7-isys-queue.c +++ b/drivers/media/pci/intel/ipu7/ipu7-isys-queue.c @@ -629,7 +629,7 @@ static int start_streaming(struct vb2_queue *q, unsigned int count) ret = buffer_list_get(stream, bl); if (ret < 0) { dev_warn(dev, "no buffer available, DRIVER BUG?\n"); - goto out; + goto out_stream_start; } ret = ipu7_isys_fw_open(av->isys); @@ -877,6 +877,7 @@ static int ipu_isys_reset(struct ipu7_isys_video *self_av, end_of_reset: mutex_lock(&isys->reset_mutex); isys->state &= ~RESET_STATE_IN_RESET; + isys->need_reset = false; mutex_unlock(&isys->reset_mutex); dev_dbg(dev, "reset done\n");