[openwrt/openwrt] mac80211: work around a race condition on detecting a phy while bringing it up

LEDE Commits lede-commits at lists.infradead.org
Fri Dec 16 05:33:13 PST 2022


nbd pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/133a1e2f3787ec995561398bda7571180598454f

commit 133a1e2f3787ec995561398bda7571180598454f
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Fri Dec 16 11:37:30 2022 +0100

    mac80211: work around a race condition on detecting a phy while bringing it up
    
    When reloading modules and running wifi, a phy can sometimes be renamed
    while in the middle of a hotplug call that tries to detect new phys
    This can lead to bogus wifi-device sections being created
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 package/kernel/mac80211/files/lib/wifi/mac80211.sh | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/kernel/mac80211/files/lib/wifi/mac80211.sh b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
index 3ecd932228..e24a2a634e 100644
--- a/package/kernel/mac80211/files/lib/wifi/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
@@ -167,6 +167,10 @@ detect_mac80211() {
 
 		path="$(iwinfo nl80211 path "$dev")"
 		macaddr="$(cat /sys/class/ieee80211/${dev}/macaddress)"
+
+		# work around phy rename related race condition
+		[ -n "$path" -o -n "$macaddr" ] || continue
+
 		board_dev=
 		fallback_board_dev=
 		json_for_each_item check_board_phy wlan




More information about the lede-commits mailing list