From 8c8091f4f165974c44d75dd9ccc7cc4dcd1d1c96 Mon Sep 17 00:00:00 2001 From: Tobias Tschinkowitz Date: Thu, 31 May 2018 13:53:49 +0200 Subject: wifi: fixed disconnected wifi status on openbsd --- components/wifi.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'components/wifi.c') diff --git a/components/wifi.c b/components/wifi.c index 7815c86..3751ae3 100644 --- a/components/wifi.c +++ b/components/wifi.c @@ -109,6 +109,7 @@ { struct ieee80211_bssid bssid; int sockfd; + uint8_t zero_bssid[IEEE80211_ADDR_LEN]; memset(&bssid, 0, sizeof(bssid)); memset(nr, 0, sizeof(struct ieee80211_nodereq)); @@ -122,6 +123,12 @@ close(sockfd); return 0; } + memset(&zero_bssid, 0, sizeof(zero_bssid)); + if (memcmp(bssid.i_bssid, zero_bssid, + IEEE80211_ADDR_LEN) == 0) { + close(sockfd); + return 0; + } strlcpy(nr->nr_ifname, iface, sizeof(nr->nr_ifname)); memcpy(&nr->nr_macaddr, bssid.i_bssid, sizeof(nr->nr_macaddr)); if ((ioctl(sockfd, SIOCG80211NODE, nr)) < 0 && nr->nr_rssi) { -- cgit v1.2.3