diff options
author | Bob Cantor <coxede6557@w3boats.com> | 2021-06-25 04:37:17 +1000 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2021-06-30 19:24:55 +0200 |
commit | b27b63b082d6e36c5ffe16c8ec3514d314907b3a (patch) | |
tree | 9e05e7baaecbcc98f69a944b37f2a8c0dfe366c5 | |
parent | 6f13a390355d15bc1ecff59eba769d0189d05083 (diff) | |
download | upstream-b27b63b082d6e36c5ffe16c8ec3514d314907b3a.tar.gz upstream-b27b63b082d6e36c5ffe16c8ec3514d314907b3a.tar.bz2 upstream-b27b63b082d6e36c5ffe16c8ec3514d314907b3a.zip |
base-files: wifi: swap the order of some ubus calls
"/sbin/wifi up" makes three ubus calls:
1. ubus call network reload
2. ubus call network.wireless down
3. ubus call network.wireless up
The first and third ubus calls call drv_mac80211_setup,
while the second ubus call triggers wireless_device_setup_cancel,
so the call sequence becomes,
1. drv_mac80211_setup
2. wireless_device_setup_cancel
3. drv_mac80211_setup
This commit swaps the order of the first two ubus calls,
1. ubus call network.wireless down
2. ubus call network reload
3. ubus call network.wireless up
Consequently drv_mac80211_setup is only called once,
and two related bugs (#FS3784 and #FS3902) are no longer triggered
by /sbin/wifi.
branches affected: trunk, 21.02
Signed-off-by: Bob Cantor <coxede6557@w3boats.com>
(cherry-picked from commit b82cc8071366b8e96904a1b52af503442069b20d)
-rwxr-xr-x | package/base-files/files/sbin/wifi | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/package/base-files/files/sbin/wifi b/package/base-files/files/sbin/wifi index 75759b94f3..b2dde6f01c 100755 --- a/package/base-files/files/sbin/wifi +++ b/package/base-files/files/sbin/wifi @@ -130,6 +130,7 @@ wifi_updown() { ubus_wifi_cmd "$cmd" "$2" scan_wifi cmd=up + ubus call network reload } [ reconf = "$1" ] && { scan_wifi @@ -247,6 +248,6 @@ case "$1" in reload_legacy) wifi_reload_legacy "$2";; --help|help) usage;; reconf) ubus call network reload; wifi_updown "reconf" "$2";; - ''|up) ubus call network reload; wifi_updown "enable" "$2";; + ''|up) wifi_updown "enable" "$2";; *) usage; exit 1;; esac |