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 |