aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/compat/linuxkpi/common/src/linux_80211.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
index f5951c95a8df..5e7a3ff91b9f 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -3767,8 +3767,7 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw)
* in any band so we can scale [(ext) sup rates] IE(s) accordingly.
*/
lhw->supbands = lhw->max_rates = 0;
- for (band = 0; band < NUM_NL80211_BANDS &&
- hw->conf.chandef.chan == NULL; band++) {
+ for (band = 0; band < NUM_NL80211_BANDS; band++) {
struct ieee80211_supported_band *supband;
struct linuxkpi_ieee80211_channel *channels;
@@ -3779,6 +3778,10 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw)
lhw->supbands++;
lhw->max_rates = max(lhw->max_rates, supband->n_bitrates);
+ /* If we have a channel, we need to keep counting supbands. */
+ if (hw->conf.chandef.chan != NULL)
+ continue;
+
channels = supband->channels;
for (i = 0; i < supband->n_channels; i++) {