On Sun, Dec 10, 2023 at 09:39:30PM +0000, Léo Lam wrote:
Commit 4a7e92551618f3737b305f62451353ee05662f57 ("wifi: cfg80211: fix CQM for non-range use" on 6.6.x) causes nl80211_set_cqm_rssi not to release the wdev lock in some situations.
Of course, the ensuing deadlock causes userland network managers to break pretty badly, and on typical systems this also causes lockups on on suspend, poweroff and reboot. See [1], [2], [3] for example reports.
The upstream commit, 7e7efdda6adb385fbdfd6f819d76bc68c923c394 ("wifi: cfg80211: fix CQM for non-range use"), does not trigger this issue because the wdev lock does not exist there.
Fix the deadlock by releasing the lock before returning.
[1] https://bugzilla.kernel.org/show_bug.cgi?id=218247 [2] https://bbs.archlinux.org/viewtopic.php?id=290976 [3] https://lore.kernel.org/all/87sf4belmm.fsf@turtle.gmx.de/
Fixes: 4a7e92551618 ("wifi: cfg80211: fix CQM for non-range use") Cc: stable@vger.kernel.org Signed-off-by: Léo Lam leo@leolam.fr
net/wireless/nl80211.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)
So this is only for the 6.6.y tree? If so, you should at least cc: the other wireless developers involved in the original fix, right?
And what commit actually fixed this issue upstream, why not take that instead?
thanks,
greg k-h