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 /package | |
| parent | 1c56801dd2e696cac7da45912b5e3ea1165549d5 (diff) | |
| download | upstream-b993a00b82b1bdd682199e44eb81a70dee78e5c9.tar.gz upstream-b993a00b82b1bdd682199e44eb81a70dee78e5c9.tar.bz2 upstream-b993a00b82b1bdd682199e44eb81a70dee78e5c9.zip | |
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>
Diffstat (limited to 'package')
| -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 749d9e97114..d17754d0879 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 a3d3206ee73..5231063a2b7 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 ( |
