Эх сурвалжийг харах

wifi: fixed disconnected wifi status on openbsd

Tobias Tschinkowitz 7 жил өмнө
parent
commit
8c8091f4f1
1 өөрчлөгдсөн 7 нэмэгдсэн , 0 устгасан
  1. 7 0
      components/wifi.c

+ 7 - 0
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) {