diff --git a/hif/src/snoc/if_ahb.c b/hif/src/snoc/if_ahb.c index cd5990b4093d..ce1ae0fde31e 100644 --- a/hif/src/snoc/if_ahb.c +++ b/hif/src/snoc/if_ahb.c @@ -571,6 +571,7 @@ void hif_ahb_nointrs(struct hif_softc *scn) int i; struct hif_pci_softc *sc = HIF_GET_PCI_SOFTC(scn); struct HIF_CE_state *hif_state = HIF_GET_CE_STATE(scn); + struct CE_attr *host_ce_conf = hif_state->host_ce_config; ce_unregister_irq(hif_state, CE_ALL_BITMAP); @@ -588,6 +589,10 @@ void hif_ahb_nointrs(struct hif_softc *scn) free_irq(sc->irq, sc); } else { for (i = 0; i < scn->ce_count; i++) { + if (host_ce_conf[i].flags + & CE_ATTR_DISABLE_INTR) + continue; + free_irq(ic_irqnum[HIF_IC_CE0_IRQ_OFFSET + i], &hif_state->tasklets[i]); }