From 73c9b3d6a53deb98eb60d800c0091e57136290da Mon Sep 17 00:00:00 2001 From: Zefa Chen Date: Tue, 26 Dec 2023 17:59:51 +0800 Subject: [PATCH] media: rockchip: vicap fixes error of rk_csirx_irq1_handler Signed-off-by: Zefa Chen Change-Id: Iec15d04da87fb82e9bceca25300ebd93547fec45 --- drivers/media/platform/rockchip/cif/mipi-csi2.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/rockchip/cif/mipi-csi2.c b/drivers/media/platform/rockchip/cif/mipi-csi2.c index 3f81bf302a96..b7bf06e6ee45 100644 --- a/drivers/media/platform/rockchip/cif/mipi-csi2.c +++ b/drivers/media/platform/rockchip/cif/mipi-csi2.c @@ -779,7 +779,7 @@ static irqreturn_t rk_csirx_irq1_handler(int irq, void *ctx) { struct device *dev = ctx; struct csi2_hw *csi2_hw = dev_get_drvdata(dev); - struct csi2_dev *csi2 = csi2_hw->csi2; + struct csi2_dev *csi2 = NULL; struct csi2_err_stats *err_list = NULL; unsigned long err_stat = 0; u32 val; @@ -788,11 +788,16 @@ static irqreturn_t rk_csirx_irq1_handler(int irq, void *ctx) char vc_info[CSI_VCINFO_LEN] = {0}; bool is_add_cnt = false; - if (!csi2_hw || !csi2) { + if (!csi2_hw) { disable_irq_nosync(irq); return IRQ_HANDLED; } + csi2 = csi2_hw->csi2; + if (!csi2) { + disable_irq_nosync(irq); + return IRQ_HANDLED; + } val = read_csihost_reg(csi2_hw->base, CSIHOST_ERR1); if (val) { if (val & CSIHOST_ERR1_PHYERR_SPTSYNCHS) {