aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSam Leffler <sam@FreeBSD.org>2009-02-05 23:15:39 +0000
committerSam Leffler <sam@FreeBSD.org>2009-02-05 23:15:39 +0000
commit9adb9237bf9c569f5ea880e2628cce146e51e994 (patch)
treeadef84304c979b6dad9aca885f2b1311ee05995d /tools
parente4d9b9eb18e55908cf8efa2439e3db7d4f4d89ec (diff)
Notes
Diffstat (limited to 'tools')
-rw-r--r--tools/tools/net80211/wlanstats/wlanstats.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/tools/net80211/wlanstats/wlanstats.c b/tools/tools/net80211/wlanstats/wlanstats.c
index f774384e42f9..dd8e1063f8d7 100644
--- a/tools/tools/net80211/wlanstats/wlanstats.c
+++ b/tools/tools/net80211/wlanstats/wlanstats.c
@@ -437,15 +437,24 @@ getbssid(struct wlanstatfoo_p *wf)
static void
wlan_setstamac(struct wlanstatfoo *wf0, const uint8_t *mac)
{
+ static const uint8_t zeromac[IEEE80211_ADDR_LEN];
struct wlanstatfoo_p *wf = (struct wlanstatfoo_p *) wf0;
if (mac == NULL) {
switch (wlan_getopmode(wf0)) {
case IEEE80211_M_HOSTAP:
case IEEE80211_M_MONITOR:
+ getlladdr(wf);
+ break;
case IEEE80211_M_IBSS:
case IEEE80211_M_AHDEMO:
- getlladdr(wf);
+ /*
+ * NB: this may not work in which case the
+ * mac must be specified on the command line
+ */
+ if (getbssid(wf) < 0 ||
+ IEEE80211_ADDR_EQ(wf->mac, zeromac))
+ getlladdr(wf);
break;
case IEEE80211_M_STA:
if (getbssid(wf) < 0)