Module Name: src
Committed By: christos
Date: Thu Mar 21 18:30:09 UTC 2013
Modified Files:
src/sys/net80211: _ieee80211.h ieee80211.c
Log Message:
Instead of always checking for ANYC, make it a valid channel
To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/net80211/_ieee80211.h
cvs rdiff -u -r1.53 -r1.54 src/sys/net80211/ieee80211.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/net80211/_ieee80211.h
diff -u src/sys/net80211/_ieee80211.h:1.9 src/sys/net80211/_ieee80211.h:1.10
--- src/sys/net80211/_ieee80211.h:1.9 Thu Mar 21 13:10:25 2013
+++ src/sys/net80211/_ieee80211.h Thu Mar 21 14:30:09 2013
@@ -107,11 +107,12 @@ struct ieee80211_channel {
u_int16_t ic_flags; /* see below */
};
+extern const struct ieee80211_channel ieee80211_channel_anyc;
+
#define IEEE80211_CHAN_MAX 255
#define IEEE80211_CHAN_BYTES 32 /* howmany(IEEE80211_CHAN_MAX, NBBY) */
#define IEEE80211_CHAN_ANY 0xffff /* token for ``any channel'' */
-#define IEEE80211_CHAN_ANYC \
- ((struct ieee80211_channel *) 0x1)
+#define IEEE80211_CHAN_ANYC (__UNCONST(&ieee80211_channel_anyc))
/* bits 0-3 are for private use by drivers */
/* channel attributes */
@@ -155,8 +156,7 @@ struct ieee80211_channel {
((_c) == IEEE80211_CHAN_ANYC)
#define _IEEE80211_IS_CHAN(_c, _ch) \
- (!IEEE80211_IS_CHAN_ANYC(_c) && \
- ((_c)->ic_flags & IEEE80211_CHAN_ ## _ch) == IEEE80211_CHAN_ ## _ch)
+ (((_c)->ic_flags & IEEE80211_CHAN_ ## _ch) == IEEE80211_CHAN_ ## _ch)
#define IEEE80211_IS_CHAN_FHSS(_c) _IEEE80211_IS_CHAN(_c, FHSS)
#define IEEE80211_IS_CHAN_A(_c) _IEEE80211_IS_CHAN(_c, A)
Index: src/sys/net80211/ieee80211.c
diff -u src/sys/net80211/ieee80211.c:1.53 src/sys/net80211/ieee80211.c:1.54
--- src/sys/net80211/ieee80211.c:1.53 Mon Apr 5 03:22:24 2010
+++ src/sys/net80211/ieee80211.c Thu Mar 21 14:30:09 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: ieee80211.c,v 1.53 2010/04/05 07:22:24 joerg Exp $ */
+/* $NetBSD: ieee80211.c,v 1.54 2013/03/21 18:30:09 christos Exp $ */
/*-
* Copyright (c) 2001 Atsushi Onoe
* Copyright (c) 2002-2005 Sam Leffler, Errno Consulting
@@ -36,7 +36,7 @@
__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.22 2005/08/10 16:22:29 sam Exp $");
#endif
#ifdef __NetBSD__
-__KERNEL_RCSID(0, "$NetBSD: ieee80211.c,v 1.53 2010/04/05 07:22:24 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ieee80211.c,v 1.54 2013/03/21 18:30:09 christos Exp $");
#endif
/*
@@ -73,6 +73,10 @@ __KERNEL_RCSID(0, "$NetBSD: ieee80211.c,
#include <net/if_ether.h>
#endif
+const struct ieee80211_channel ieee80211_channel_anyc = {
+ 0, 0
+};
+
struct ieee80211com_head ieee80211com_head =
LIST_HEAD_INITIALIZER(ieee80211com_head);