[2/7] qtnfmac: fix legacy PCIe interrupt handling
diff mbox series

Message ID 20190109160843.14832-3-sergey.matyukevich.os@quantenna.com
State Superseded, archived
Delegated to: Kalle Valo
Headers show
  • qtnfmac: fixes and minor enhancements
Related show

Commit Message

Sergey Matyukevich Jan. 9, 2019, 4:08 p.m. UTC
In the current implementation INTx interrupt is deasserted after the
control path processing. However this leads to missed interrupts
from the wireless card. For instance, this may happen as a result
of control path activity, when another interrupt arrives before
INTx is deasserted.

Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>
 drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff mbox series

diff --git a/drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c b/drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c
index 598edb814421..cbcda57105f3 100644
--- a/drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c
+++ b/drivers/net/wireless/quantenna/qtnfmac/pcie/topaz_pcie.c
@@ -559,6 +559,9 @@  static irqreturn_t qtnf_pcie_topaz_interrupt(int irq, void *data)
 	if (!priv->msi_enabled && !qtnf_topaz_intx_asserted(ts))
 		return IRQ_NONE;
+	if (!priv->msi_enabled)
+		qtnf_deassert_intx(ts);
@@ -571,9 +574,6 @@  static irqreturn_t qtnf_pcie_topaz_interrupt(int irq, void *data)
-	if (!priv->msi_enabled)
-		qtnf_deassert_intx(ts);
 	return IRQ_HANDLED;