Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Jan 2009 23:10:16 +0000 (UTC)
From:      Sam Leffler <sam@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r187503 - user/sam/wifi/sbin/ifconfig
Message-ID:  <200901202310.n0KNAGnP059863@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sam
Date: Tue Jan 20 23:10:16 2009
New Revision: 187503
URL: http://svn.freebsd.org/changeset/base/187503

Log:
  merge r187342: fix 1/2 and 1/4 width channel handling for non-GSM operation

Modified:
  user/sam/wifi/sbin/ifconfig/   (props changed)
  user/sam/wifi/sbin/ifconfig/ifieee80211.c

Modified: user/sam/wifi/sbin/ifconfig/ifieee80211.c
==============================================================================
--- user/sam/wifi/sbin/ifconfig/ifieee80211.c	Tue Jan 20 23:06:06 2009	(r187502)
+++ user/sam/wifi/sbin/ifconfig/ifieee80211.c	Tue Jan 20 23:10:16 2009	(r187503)
@@ -1782,7 +1782,7 @@ regdomain_addchans(struct ieee80211req_c
 				continue;
 			}
 			if ((flags & IEEE80211_CHAN_QUARTER) &&
-			    ((chanFlags & IEEE80211_CHAN_HALF) == 0 &&
+			    ((chanFlags & IEEE80211_CHAN_QUARTER) == 0 &&
 			     (flags & IEEE80211_CHAN_GSM) == 0)) {
 				if (verbose)
 					printf("%u: skip, device does not support quarter-rate channels\n", freq);
@@ -1876,12 +1876,26 @@ regdomain_makechannels(
 		if (!LIST_EMPTY(&rd->bands_11b))
 			regdomain_addchans(ci, &rd->bands_11b, reg,
 			    IEEE80211_CHAN_B, &dc->dc_chaninfo);
-		if (!LIST_EMPTY(&rd->bands_11g))
+		if (!LIST_EMPTY(&rd->bands_11g)) {
 			regdomain_addchans(ci, &rd->bands_11g, reg,
 			    IEEE80211_CHAN_G, &dc->dc_chaninfo);
-		if (!LIST_EMPTY(&rd->bands_11a))
+			regdomain_addchans(ci, &rd->bands_11g, reg,
+			    IEEE80211_CHAN_G | IEEE80211_CHAN_HALF,
+			    &dc->dc_chaninfo);
+			regdomain_addchans(ci, &rd->bands_11g, reg,
+			    IEEE80211_CHAN_G | IEEE80211_CHAN_QUARTER,
+			    &dc->dc_chaninfo);
+		}
+		if (!LIST_EMPTY(&rd->bands_11a)) {
 			regdomain_addchans(ci, &rd->bands_11a, reg,
 			    IEEE80211_CHAN_A, &dc->dc_chaninfo);
+			regdomain_addchans(ci, &rd->bands_11a, reg,
+			    IEEE80211_CHAN_A | IEEE80211_CHAN_HALF,
+			    &dc->dc_chaninfo);
+			regdomain_addchans(ci, &rd->bands_11a, reg,
+			    IEEE80211_CHAN_A | IEEE80211_CHAN_QUARTER,
+			    &dc->dc_chaninfo);
+		}
 		if (!LIST_EMPTY(&rd->bands_11na)) {
 			regdomain_addchans(ci, &rd->bands_11na, reg,
 			    IEEE80211_CHAN_A | IEEE80211_CHAN_HT20,



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901202310.n0KNAGnP059863>