Fix ath11k deadlock on WCN6855
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HWE Next |
Fix Released
|
Undecided
|
AaronMa | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Medium
|
Unassigned | ||
Kinetic |
Fix Released
|
Medium
|
Unassigned | ||
linux-oem-5.17 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Unassigned | ||
Kinetic |
Invalid
|
Undecided
|
Unassigned | ||
linux-oem-6.0 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Unassigned | ||
Kinetic |
Invalid
|
Undecided
|
Unassigned |
Bug Description
[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+
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ? resched_
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: schedule+0x55/0xd0
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: schedule_
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ? raw_spin_
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ? try_to_
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ? ath11k_
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: wait_for_
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: __flush_
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ? flush_workqueue
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: __cancel_
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ? ath11k_
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: cancel_
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: ath11k_
Aug 19 01:29:28 Thor-P3-AMD-2 kernel: drv_stop+0x45/0x110 [mac80211]
[Fix]
Fix this by switching from using regulatory_
regulatory_
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.
CVE References
tags: | added: oem-priority originate-from-1981178 sutton |
Changed in hwe-next: | |
assignee: | nobody → AaronMa (mapengyu) |
Changed in linux (Ubuntu Jammy): | |
status: | New → In Progress |
Changed in linux (Ubuntu Kinetic): | |
status: | New → In Progress |
Changed in linux (Ubuntu): | |
status: | New → In Progress |
Changed in linux-oem-5.17 (Ubuntu): | |
status: | New → In Progress |
Changed in linux-oem-5.17 (Ubuntu Jammy): | |
status: | New → In Progress |
Changed in linux-oem-5.17 (Ubuntu Kinetic): | |
status: | New → In Progress |
Changed in linux-oem-6.0 (Ubuntu): | |
status: | New → In Progress |
Changed in linux-oem-6.0 (Ubuntu Jammy): | |
status: | New → In Progress |
Changed in linux-oem-6.0 (Ubuntu Kinetic): | |
status: | New → In Progress |
Changed in hwe-next: | |
status: | New → In Progress |
Changed in linux-oem-5.17 (Ubuntu): | |
status: | In Progress → Invalid |
Changed in linux-oem-5.17 (Ubuntu Kinetic): | |
status: | In Progress → Invalid |
Changed in linux-oem-6.0 (Ubuntu): | |
status: | In Progress → Invalid |
Changed in linux-oem-6.0 (Ubuntu Kinetic): | |
status: | In Progress → Invalid |
Changed in linux-oem-6.0 (Ubuntu Jammy): | |
status: | In Progress → Fix Committed |
Changed in linux-oem-5.17 (Ubuntu Jammy): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Kinetic): | |
importance: | Undecided → Medium |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Jammy): | |
importance: | Undecided → Medium |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Released |
tags: |
added: verification-done-jammy removed: verification-needed-jammy |
tags: |
added: verification-done-kinetic removed: verification-needed-kinetic |
tags: |
added: verification-done-kinetic removed: verification-needed-kinetic |
Changed in hwe-next: | |
status: | In Progress → Fix Released |
As an FYI, Kalle is also sending this fix to 6.1-rc with a CC to stable. So this will eventually drop off the Ubuntu kernels as SAUCE.
https:/ /patchwork. kernel<email address hidden>/