summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2004-12-06 11:15:15 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2004-12-06 11:15:15 +0000
commit86f11d1ddd3b474eca26a50e956355b6880ce724 (patch)
tree6ba2d9467ace69389a1a78b82c49cac860ffc9d3
parent932219ebb9c68cf9e9ad8171d7b3f08da961c568 (diff)
add a flag that lets a wireless card indicate it can receive probe responses
or beacons on any channel during a scan. ok damien@ "come on" deraadt@
-rw-r--r--sys/net80211/ieee80211_input.c5
-rw-r--r--sys/net80211/ieee80211_var.h3
2 files changed, 5 insertions, 3 deletions
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c
index 0d2ff372cdb..e1c1523c590 100644
--- a/sys/net80211/ieee80211_input.c
+++ b/sys/net80211/ieee80211_input.c
@@ -1,5 +1,5 @@
/* $NetBSD: ieee80211_input.c,v 1.24 2004/05/31 11:12:24 dyoung Exp $ */
-/* $OpenBSD: ieee80211_input.c,v 1.2 2004/11/02 02:15:49 reyk Exp $ */
+/* $OpenBSD: ieee80211_input.c,v 1.3 2004/12/06 11:15:14 dlg Exp $ */
/*-
* Copyright (c) 2001 Atsushi Onoe
@@ -1042,7 +1042,8 @@ ieee80211_recv_mgmt(struct ieee80211com *ic, struct mbuf *m0,
ic->ic_stats.is_rx_badchan++;
return;
}
- if (chan != bchan && ic->ic_phytype != IEEE80211_T_FH) {
+ if (!(ic->ic_caps & IEEE80211_C_SCANALL) &&
+ (chan != bchan && ic->ic_phytype != IEEE80211_T_FH)) {
/*
* Frame was received on a channel different from the
* one indicated in the DS params element id;
diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h
index ca735745149..a518940c271 100644
--- a/sys/net80211/ieee80211_var.h
+++ b/sys/net80211/ieee80211_var.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ieee80211_var.h,v 1.2 2004/11/02 02:15:49 reyk Exp $ */
+/* $OpenBSD: ieee80211_var.h,v 1.3 2004/12/06 11:15:14 dlg Exp $ */
/* $NetBSD: ieee80211_var.h,v 1.7 2004/05/06 03:07:10 dyoung Exp $ */
/*-
@@ -282,6 +282,7 @@ struct ieee80211com {
#define IEEE80211_C_SHSLOT 0x00000080 /* CAPABILITY: short slottime */
#define IEEE80211_C_SHPREAMBLE 0x00000100 /* CAPABILITY: short preamble */
#define IEEE80211_C_MONITOR 0x00000200 /* CAPABILITY: monitor mode */
+#define IEEE80211_C_SCANALL 0x00000400 /* CAPABILITY: scan all chan */
/* flags for ieee80211_fix_rate() */
#define IEEE80211_F_DOSORT 0x00000001 /* sort rate list */