diff --git a/drivers/media/platform/rockchip/cif/capture.c b/drivers/media/platform/rockchip/cif/capture.c index d853c40c915b..7fd7a509c94b 100644 --- a/drivers/media/platform/rockchip/cif/capture.c +++ b/drivers/media/platform/rockchip/cif/capture.c @@ -12039,7 +12039,6 @@ unsigned int rkcif_irq_global(struct rkcif_device *cif_dev) intstat_glb); return 0; } - rkcif_irq_handle_scale(cif_dev, intstat_glb); return intstat_glb; } diff --git a/drivers/media/platform/rockchip/cif/hw.c b/drivers/media/platform/rockchip/cif/hw.c index b617a2a346fb..5b895e0d197b 100644 --- a/drivers/media/platform/rockchip/cif/hw.c +++ b/drivers/media/platform/rockchip/cif/hw.c @@ -1301,8 +1301,10 @@ static irqreturn_t rkcif_irq_handler(int irq, void *ctx) cif_hw->cif_dev[i]->err_state = 0; schedule_work(&cif_hw->cif_dev[i]->err_state_work.work); } - if (cif_hw->chip_id >= CHIP_RK3588_CIF && intstat_glb) + if (cif_hw->chip_id >= CHIP_RK3588_CIF && intstat_glb) { rkcif_irq_handle_toisp(cif_hw->cif_dev[i], intstat_glb); + rkcif_irq_handle_scale(cif_hw->cif_dev[i], intstat_glb); + } } } irq_stop = ktime_get_ns();