[PATCH 1/8] ath10k: don't consume other's shared interrupts
Kalle Valo
kvalo at qca.qualcomm.com
Sun Nov 24 08:59:49 EST 2013
Michal Kazior <michal.kazior at tieto.com> writes:
> ath10k assumed all interrupts were directed to it.
> This isn't the case for legacy shared interrupts.
> ath10k consumed interrupts for other devices.
>
> Check device irq status and return IRQ_NONE when
> appropriate.
>
> Signed-off-by: Michal Kazior <michal.kazior at tieto.com>
[...]
> @@ -2085,6 +2103,9 @@ static irqreturn_t ath10k_pci_interrupt_handler(int irq, void *arg)
> struct ath10k *ar = arg;
> struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);
>
> + if (!ath10k_pci_irq_pending(ar))
> + return IRQ_NONE;
> +
> if (ar_pci->num_msi_intrs == 0) {
> /*
> * IMPORTANT: INTR_CLR regiser has to be set after
What if you move ath10k_pci_irq_pending() call after
ar_pci->num_msi_intrs == 0 check? That way you could remove the
"ar_pci->num_msi_intrs == 0" check from irq_pending() function.
--
Kalle Valo
More information about the ath10k
mailing list