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);