Skip to content

Commit

Permalink
base-files: wifi: swap the order of some ubus calls
Browse files Browse the repository at this point in the history
"/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>
  • Loading branch information
Bob Cantor authored and nbd168 committed Jun 28, 2021
1 parent 3933e29 commit b82cc80
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion package/base-files/files/sbin/wifi
Expand Up @@ -130,6 +130,7 @@ wifi_updown() {
ubus_wifi_cmd "$cmd" "$2"
scan_wifi
cmd=up
ubus call network reload
}
[ reconf = "$1" ] && {
scan_wifi
Expand Down Expand Up @@ -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

0 comments on commit b82cc80

Please sign in to comment.