Przeglądaj źródła

qcacld-3.0: Recheck firmware indicator register after enabling interrupts

qcacld-2.0 to qcacld-3.0 propagation

We suspect that the firmware indicator interrupt is being dropped when
the firmware indicator interrupt is disabled.  Check the firmware indicator
after reenabling the firmware indicator interrupt.

Change-Id: I600bd9dfae99ab96dfaf7e3448cef9128f8b7357
CRs-Fixed: 925315
Houston Hoffman 9 lat temu
rodzic
commit
6f8f7e6397
1 zmienionych plików z 6 dodań i 0 usunięć
  1. 6 0
      core/hif/src/pcie/hif_io32_pci.h

+ 6 - 0
core/hif/src/pcie/hif_io32_pci.h

@@ -243,6 +243,9 @@ extern void hif_target_write_checked(struct ol_softc *scn, uint32_t offset,
 #endif
 #endif /* CONFIG_ATH_PCIE_MAX_PERF */
 
+
+irqreturn_t hif_fw_interrupt_handler(int irq, void *arg);
+
 /**
  * ce_irq_enable() - ce_irq_enable
  * @scn: ol_softc
@@ -276,6 +279,9 @@ static inline void ce_irq_enable(struct ol_softc *scn, int ce_id)
 	if (scn->hif_init_done == true)
 		A_TARGET_ACCESS_END(scn);
 	cdf_spin_unlock_irqrestore(&scn->irq_lock);
+
+	/* check for missed firmware crash */
+	hif_fw_interrupt_handler(0, scn);
 }
 /**
  * ce_irq_disable() - ce_irq_disable