From 3b16ea52b5aa8032da64dbcbeddd91e3bb794533 Mon Sep 17 00:00:00 2001 From: Venkateswara Swamy Bandaru Date: Fri, 6 Apr 2018 14:40:27 +0530 Subject: [PATCH] qcacmn: Fix kernel warning in free irq path Free irq only if it is requested based on CE_ATTR_DISABLE_INTR flag. Change-Id: I606b4099dd5f61aef94c1eaaee9a283f731b1a57 CRs-fixed: 2219495 --- hif/src/snoc/if_ahb.c | 5 +++++ 1 file changed, 5 insertions(+) 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]); }