diff --git a/msm/sde/sde_core_irq.c b/msm/sde/sde_core_irq.c index 7c315a76..9a381c66 100644 --- a/msm/sde/sde_core_irq.c +++ b/msm/sde/sde_core_irq.c @@ -470,6 +470,10 @@ void sde_core_irq_preinstall(struct sde_kms *sde_kms) sizeof(atomic_t), GFP_KERNEL); sde_kms->irq_obj.irq_counts = kcalloc(sde_kms->irq_obj.total_irqs, sizeof(atomic_t), GFP_KERNEL); + if (!sde_kms->irq_obj.irq_cb_tbl || !sde_kms->irq_obj.enable_counts + || !sde_kms->irq_obj.irq_counts) + return; + for (i = 0; i < sde_kms->irq_obj.total_irqs; i++) { INIT_LIST_HEAD(&sde_kms->irq_obj.irq_cb_tbl[i]); atomic_set(&sde_kms->irq_obj.enable_counts[i], 0);