mac80211: work around a race condition on detecting a phy while bringing it up
authorFelix Fietkau <nbd@nbd.name>
Fri, 16 Dec 2022 10:37:30 +0000 (11:37 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 16 Dec 2022 13:32:47 +0000 (14:32 +0100)
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@nbd.name>
package/kernel/mac80211/files/lib/wifi/mac80211.sh

index 3ecd932228fb856232d5b14ff1b717e9e1b807b8..e24a2a634ea6065295bdc780cdb519c2f1eb113c 100644 (file)
@@ -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