ACK: [SRU][PATCH 0/1][J/OEM-5.17/OEM-6.0/K/U] Fix ath11k deadlock on WCN6855
Tim Gardner
tim.gardner at canonical.com
Fri Oct 28 19:02:43 UTC 2022
On 10/27/22 23:07, Aaron Ma wrote:
> BugLink: https://bugs.launchpad.net/bugs/1995041
>
> [Impact]
> ath11k is in deadlock when stress reboot or suspend on WCN6855.
> sometimes kernel hang.
>
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: Call Trace:
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: <TASK>
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: __schedule+0x240/0x5a0
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ? resched_curr+0x52/0xc0
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: schedule+0x55/0xd0
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: schedule_timeout+0x115/0x150
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ? raw_spin_rq_unlock+0x10/0x30
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ? try_to_wake_up+0x211/0x600
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ? ath11k_ce_send+0x17a/0x2e0
> [ath11k]
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: wait_for_completion+0x8b/0xf0
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: __flush_work.isra.0+0x171/0x270
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ?
> flush_workqueue_prep_pwqs+0x140/0x140
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: __cancel_work_timer+0x11b/0x1a0
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ?
> ath11k_mac_config_mon_status_default+0xcc/0x170 [ath11k]
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: cancel_work_sync+0x10/0x20
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ath11k_mac_op_stop+0x9f/0x1e0
> [ath11k]
> Aug 19 01:29:28 Thor-P3-AMD-2 kernel: drv_stop+0x45/0x110 [mac80211]
>
> [Fix]
> Fix this by switching from using regulatory_set_wiphy_regd_sync() to
> regulatory_set_wiphy_regd(). Now cfg80211 will schedule another
> workqueue which handles the locking on it's own.
> So the ath11k workqueue can simply exit
> without taking any locks, avoiding the deadlock.
>
> [Test]
> Verified on hardware, stress reboot and suspend 30 times OK.
>
> [Where problems could occur]
> It may break ath11k wifi driver.
> Because of the schedule, SRU it as SAUCE from maintainer's tree.
>
> Wen Gong (1):
> UBUNTU: SAUCE: wifi: ath11k: avoid deadlock during regulatory update
> in ath11k_regd_update()
>
> drivers/net/wireless/ath/ath11k/reg.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
Acked-by: Tim Gardner <tim.gardner at canonical.com>
--
-----------
Tim Gardner
Canonical, Inc
More information about the kernel-team
mailing list