瀏覽代碼

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 <[email protected]>
Felix Fietkau 2 年之前
父節點
當前提交
b993a00b82
共有 2 個文件被更改,包括 4 次插入0 次删除
  1. 3 0
      package/base-files/files/etc/init.d/boot
  2. 1 0
      package/base-files/files/sbin/wifi

+ 3 - 0
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
 	

+ 1 - 0
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 (