RE: CPU stall with TP-Link wifi PCIe card

From: Bharat Kumar Gogada
Date: Wed Nov 30 2016 - 12:05:44 EST


Just to add, im using 4.6 kernel version. And the card is working on ARM, X86 machine.

> Subject: CPU stall with TP-Link wifi PCIe card
>
> Hi,
>
> We are testing TP-link wifi PCIe card(TL-WDN4800) on our soc (pcie-xilinx-
> nwl.c). This card is using
> legacy interrupts and it doesn't support MSI.
>
> When we do scan on wifi interface(using "iw dev wlan0 scan") cpu is getting
> stalled
> making whole system hang.
>
> After debugging found that IRQ is being disabled after getting 1 or 2 interrupts
> immediately after we run the scan command.
>
> But interrupts are being received to root port continuously but not being
> serviced by EP due to following
> condition, due to continuous interrupts cpu is getting stalled.
>
> In handle_simple_irq:
>
> if (unlikely(!desc->action || irqd_irq_disabled(&desc->irq_data))) {
> desc->istate |= IRQS_PENDING;
> goto out_unlock;
> }
>
> The irqd_irq_disabled(&desc->irq_data) is returning 1 after 1 or 2 interrupts after
> we scan.
>
> Can any one tell why irq is going into disabled state ?
>
> What might be the source that's making it go into disabled state ?
>
> Thanks & Regards,
> Bharat
>