소스 검색

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 (