net80211: turn channel mode check into assertion.

There is may be only 11b channel (since chanflags[] table
maps MODE_AUTO to the corresponding 11b channel flags).

Checked with RTL8812AU, STA mode.

MFC after:	5 days
This commit is contained in:
Andriy Voskoboinyk 2019-01-23 13:17:03 +00:00
parent 938ed5dad6
commit 7e2bcba46e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=343342

View File

@ -496,12 +496,15 @@ add_channels(struct ieee80211vap *vap,
if (c == NULL || isexcluded(vap, c))
continue;
if (mode == IEEE80211_MODE_AUTO) {
KASSERT(IEEE80211_IS_CHAN_B(c),
("%s: wrong channel for 'auto' mode %u / %u\n",
__func__, c->ic_freq, c->ic_flags));
/*
* XXX special-case 11b/g channels so we select
* the g channel if both are present.
*/
if (IEEE80211_IS_CHAN_B(c) &&
(cg = find11gchannel(ic, i, c->ic_freq)) != NULL)
if ((cg = find11gchannel(ic, i, c->ic_freq)) != NULL)
c = cg;
}
ss->ss_chans[ss->ss_last++] = c;