View | Details | Raw Unified | Return to bug 196261
Collapse All | Expand All

(-)sys/net80211/ieee80211_scan_sta.c (-18 / +14 lines)
Lines 589-618 Link Here
589
	 */
589
	 */
590
	for (scan = table; scan->list != NULL; scan++) {
590
	for (scan = table; scan->list != NULL; scan++) {
591
		mode = scan->mode;
591
		mode = scan->mode;
592
		if (vap->iv_des_mode != IEEE80211_MODE_AUTO) {
592
593
		/* Skip the G check */
594
		if (vap->iv_des_mode == IEEE80211_MODE_11G &&
595
		    mode == IEEE80211_MODE_11G)
596
			continue;
597
598
		if (mode == IEEE80211_MODE_11B) {
593
			/*
599
			/*
594
			 * If a desired mode was specified, scan only 
600
			 * The scan table marks 2.4Ghz channels as b
595
			 * channels that satisfy that constraint.
601
			 * so if the desired mode is 11g, then use
602
			 * the 11b channel list but upgrade the mode.
596
			 */
603
			 */
597
			if (vap->iv_des_mode != mode) {
604
			if (vap->iv_des_mode == IEEE80211_MODE_11G)
598
				/*
605
				mode = IEEE80211_MODE_11G;	/* upgrade */
599
				 * The scan table marks 2.4Ghz channels as b
606
600
				 * so if the desired mode is 11g, then use
601
				 * the 11b channel list but upgrade the mode.
602
				 */
603
				if (vap->iv_des_mode == IEEE80211_MODE_11G) {
604
					if (mode == IEEE80211_MODE_11G) /* Skip the G check */
605
						continue;
606
					else if (mode == IEEE80211_MODE_11B)
607
						mode = IEEE80211_MODE_11G;	/* upgrade */
608
				}
609
			}
610
		} else {
611
			/*
607
			/*
612
			 * This lets add_channels upgrade an 11b channel
608
			 * This lets add_channels upgrade an 11b channel
613
			 * to 11g if available.
609
			 * to 11g if available.
614
			 */
610
			 */
615
			if (mode == IEEE80211_MODE_11B)
611
			else if (vap->iv_des_mode == IEEE80211_MODE_AUTO)
616
				mode = IEEE80211_MODE_AUTO;
612
				mode = IEEE80211_MODE_AUTO;
617
		}
613
		}
618
#ifdef IEEE80211_F_XR
614
#ifdef IEEE80211_F_XR

Return to bug 196261