mac80211: Fix deadlock when configuring wifi
authorHauke Mehrtens <hauke@hauke-m.de>
Sat, 13 Nov 2021 17:24:52 +0000 (18:24 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 13 Nov 2021 18:09:22 +0000 (19:09 +0100)
commitc90e10b62eaccb71d289c3f7a7c67dcbae0b74f8
tree8a8d3b39088ac953858f71dead7e8544d1571138
parentfa7356dd9d6d88c9aff9dce496dc9eaa0a8d9bda
mac80211: Fix deadlock when configuring wifi

The nl80211_set_wiphy() function was changed between kernel 5.11 and
5.12 to take the rdev->wiphy lock which should be freed at the end
again. The 500-mac80211_configure_antenna_gain.patch added some code
which just returned in some cases without unlocking. This resulted in a
deadlock with brcmfmac.
This patch fixes this by also jumping to the out label in case we want
to leave the function.
This fixes a hanging system when brcmfmac is in use. I do not know why
we do not see this with other driver.

The kernel returns very useful debug details when setting these OpenWrt
configuration options:
CONFIG_KERNEL_DETECT_HUNG_TASK=y
CONFIG_KERNEL_PROVE_LOCKING=y

Fixes: FS#4122
Fixes: b96c2569ac76 ("mac80211: Update to version 5.12.19-1")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch