diff options
author | Felix Fietkau <nbd@nbd.name> | 2023-07-17 14:32:21 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2023-07-17 14:33:57 +0200 |
commit | b993a00b82b1bdd682199e44eb81a70dee78e5c9 (patch) | |
tree | 6de6de48eebe54841e24bf8d44c0a7882194b9c4 | |
parent | 1c56801dd2e696cac7da45912b5e3ea1165549d5 (diff) |
base-files: fix duplicate wifi radio sections when using phy renaming
The duplicate sections are caused by a race condition at boot, when board.json
is not available. In that case, the final phy name cannot be resolved, and extra
sections referring to the path are created.
Fix this by making sure that wifi config is not being run before board.json
is created.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rwxr-xr-x | package/base-files/files/etc/init.d/boot | 3 | ||||
-rwxr-xr-x | package/base-files/files/sbin/wifi | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot index 749d9e9711..d17754d087 100755 --- a/package/base-files/files/etc/init.d/boot +++ b/package/base-files/files/etc/init.d/boot @@ -39,6 +39,7 @@ boot() { grep -q pstore /proc/filesystems && /bin/mount -o noatime -t pstore pstore /sys/fs/pstore [ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe + touch /tmp/.config_pending /sbin/kmodloader [ ! -f /etc/config/wireless ] && { @@ -47,6 +48,8 @@ boot() { } /bin/config_generate + rm -f /tmp/.config_pending + /sbin/wifi config uci_apply_defaults sync diff --git a/package/base-files/files/sbin/wifi b/package/base-files/files/sbin/wifi index a3d3206ee7..5231063a2b 100755 --- a/package/base-files/files/sbin/wifi +++ b/package/base-files/files/sbin/wifi @@ -175,6 +175,7 @@ wifi_detect_notice() { } wifi_config() { + [ -e /tmp/.config_pending ] && return [ ! -f /etc/config/wireless ] && touch /etc/config/wireless for driver in $DRIVERS; do ( |