ソースを参照

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
Venkateswara Swamy Bandaru 7 年 前
コミット
3b16ea52b5
1 ファイル変更5 行追加0 行削除
  1. 5 0
      hif/src/snoc/if_ahb.c

+ 5 - 0
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]);
 			}