ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/package/kernel/asr-wl/asr-hostapd/asr-hostapd-2023-06-22/tests/hwsim/stop.sh b/package/kernel/asr-wl/asr-hostapd/asr-hostapd-2023-06-22/tests/hwsim/stop.sh
new file mode 100644
index 0000000..5d23b5b
--- /dev/null
+++ b/package/kernel/asr-wl/asr-hostapd/asr-hostapd-2023-06-22/tests/hwsim/stop.sh
@@ -0,0 +1,80 @@
+#!/bin/sh
+
+if pidof wpa_supplicant hostapd valgrind.bin hlr_auc_gw > /dev/null; then
+    RUNNING=yes
+else
+    RUNNING=no
+fi
+
+sudo killall -q hostapd
+sudo killall -q wpa_supplicant
+for i in `pidof valgrind.bin`; do
+    if ps $i | grep -q -E "wpa_supplicant|hostapd"; then
+	sudo kill $i
+    fi
+done
+sudo killall -q wlantest
+if grep -q hwsim0 /proc/net/dev; then
+    sudo ifconfig hwsim0 down
+fi
+
+sudo killall -q hlr_auc_gw
+
+if [ "$RUNNING" = "yes" ]; then
+    # give some time for hostapd and wpa_supplicant to complete deinit
+    for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
+	if ! pidof wpa_supplicant hostapd valgrind.bin hlr_auc_gw > /dev/null; then
+	    break
+	fi
+	if [ $i -gt 10 ]; then
+	    echo "Waiting for processes to exit (1)"
+	    sleep 1
+	else
+	    sleep 0.06
+	fi
+    done
+fi
+
+if pidof wpa_supplicant hostapd hlr_auc_gw > /dev/null; then
+    echo "wpa_supplicant/hostapd/hlr_auc_gw did not exit - try to force them to die"
+    sudo killall -9 -q hostapd
+    sudo killall -9 -q wpa_supplicant
+    sudo killall -9 -q hlr_auc_gw
+    for i in `seq 1 5`; do
+	if pidof wpa_supplicant hostapd hlr_auc_gw > /dev/null; then
+	    echo "Waiting for processes to exit (2)"
+	    sleep 1
+	else
+	    break
+	fi
+    done
+fi
+
+for i in `pidof valgrind.bin`; do
+    if ps $i | grep -q -E "wpa_supplicant|hostapd"; then
+	echo "wpa_supplicant/hostapd(valgrind) did not exit - try to force it to die"
+	sudo kill -9 $i
+    fi
+done
+
+count=0
+for i in /tmp/wpas-wlan0 /tmp/wpas-wlan1 /tmp/wpas-wlan2 /tmp/wpas-wlan5 /var/run/hostapd-global /tmp/hlr_auc_gw.sock /tmp/wpa_ctrl_* /tmp/eap_sim_db_*; do
+    count=$(($count + 1))
+    if [ $count -lt 7 -a -e $i ]; then
+	echo "Waiting for ctrl_iface $i to disappear"
+	sleep 1
+    fi
+    if [ -e $i ]; then
+	echo "Control interface file $i exists - remove it"
+	sudo rm $i
+    fi
+done
+
+if grep -q mac80211_hwsim /proc/modules 2>/dev/null ; then
+    sudo rmmod mac80211_hwsim
+    sudo rmmod mac80211
+    sudo rmmod cfg80211
+    # wait at the end to avoid issues starting something new immediately after
+    # this script returns
+    sleep 1
+fi