2023-08-09 08:29:12

by Johan Hovold

[permalink] [raw]
Subject: [PATCH] Revert "Revert "wifi: ath11k: Enable threaded NAPI""

This reverts commit d265ebe41c911314bd273c218a37088835959fa1.

Disabling threaded NAPI causes the Lenovo ThinkPad X13s to hang (e.g. no
more interrupts received) almost immediately during RX.

Apparently something broke since commit 13aa2fb692d3 ("wifi: ath11k:
Enable threaded NAPI") so that a simple revert is no longer possible.

As commit d265ebe41c91 ("Revert "wifi: ath11k: Enable threaded NAPI"")
does not address the underlying issue reported with QCN9074, it seems we
need to reenable threaded NAPI before fixing both bugs properly.

Fixes: d265ebe41c91 ("Revert "wifi: ath11k: Enable threaded NAPI"")
Signed-off-by: Johan Hovold <[email protected]>
---

Hi Kalle,

Disabling threaded NAPI caused a severe regression in 6.5-rc5 by making
the X13s completely unusable (e.g. no keyboard input, I've seen an RCU
splat once).

I'm supposed to be on holiday this week, but thanks to the rain I gave
rc5 a try and ran into this.

I've added Bjorn, Mani and Konrad on CC who may be able to help with
debugging this further if needed while I'm out-of-office.

Johan


drivers/net/wireless/ath/ath11k/ahb.c | 1 +
drivers/net/wireless/ath/ath11k/pcic.c | 1 +
2 files changed, 2 insertions(+)

diff --git a/drivers/net/wireless/ath/ath11k/ahb.c b/drivers/net/wireless/ath/ath11k/ahb.c
index 139da578831a..1cebba7889d7 100644
--- a/drivers/net/wireless/ath/ath11k/ahb.c
+++ b/drivers/net/wireless/ath/ath11k/ahb.c
@@ -376,6 +376,7 @@ static void ath11k_ahb_ext_irq_enable(struct ath11k_base *ab)
struct ath11k_ext_irq_grp *irq_grp = &ab->ext_irq_grp[i];

if (!irq_grp->napi_enabled) {
+ dev_set_threaded(&irq_grp->napi_ndev, true);
napi_enable(&irq_grp->napi);
irq_grp->napi_enabled = true;
}
diff --git a/drivers/net/wireless/ath/ath11k/pcic.c b/drivers/net/wireless/ath/ath11k/pcic.c
index c63083633b37..c899616fbee4 100644
--- a/drivers/net/wireless/ath/ath11k/pcic.c
+++ b/drivers/net/wireless/ath/ath11k/pcic.c
@@ -466,6 +466,7 @@ void ath11k_pcic_ext_irq_enable(struct ath11k_base *ab)
struct ath11k_ext_irq_grp *irq_grp = &ab->ext_irq_grp[i];

if (!irq_grp->napi_enabled) {
+ dev_set_threaded(&irq_grp->napi_ndev, true);
napi_enable(&irq_grp->napi);
irq_grp->napi_enabled = true;
}
--
2.41.0



2023-08-21 15:04:34

by Johan Hovold

[permalink] [raw]
Subject: Re: [PATCH] Revert "Revert "wifi: ath11k: Enable threaded NAPI""

Hi Kalle,

On Wed, Aug 09, 2023 at 09:34:32AM +0200, Johan Hovold wrote:

> Disabling threaded NAPI caused a severe regression in 6.5-rc5 by making
> the X13s completely unusable (e.g. no keyboard input, I've seen an RCU
> splat once).
>
> I'm supposed to be on holiday this week, but thanks to the rain I gave
> rc5 a try and ran into this.
>
> I've added Bjorn, Mani and Konrad on CC who may be able to help with
> debugging this further if needed while I'm out-of-office.

Back from my holiday now, and this regression is still there with
6.5-rc7.

Any chance we can get the offending commit reverted before 6.5 is
released?

I'll take a closer look at this meanwhile.

Johan

2023-08-22 14:06:35

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] Revert "Revert "wifi: ath11k: Enable threaded NAPI""

Johan Hovold <[email protected]> writes:

> Hi Kalle,
>
> On Wed, Aug 09, 2023 at 09:34:32AM +0200, Johan Hovold wrote:
>
>> Disabling threaded NAPI caused a severe regression in 6.5-rc5 by making
>> the X13s completely unusable (e.g. no keyboard input, I've seen an RCU
>> splat once).
>>
>> I'm supposed to be on holiday this week, but thanks to the rain I gave
>> rc5 a try and ran into this.
>>
>> I've added Bjorn, Mani and Konrad on CC who may be able to help with
>> debugging this further if needed while I'm out-of-office.
>
> Back from my holiday now, and this regression is still there with
> 6.5-rc7.

I was also away but back now.

> Any chance we can get the offending commit reverted before 6.5 is
> released?

The problem here is that would break QCN9074 again so there is no good
solution. I suspect we have a fundamental issue in ath11k which we just
haven't discovered yet. I would prefer to get to the bottom of this
before reverting anything.

> I'll take a closer look at this meanwhile.

Thanks, much appreciated. Did you try enabling all kernel debug
features, maybe they would give some hints?

--
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches