On the 60g band, there is no 'basic rates'. Only MCS used. Instead of mandatory basic rates, standard requires support for mandatory MCS 1..4 Modify logic to comply with 60g requirements Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> --- net/wireless/core.c | 10 ++++++++-- net/wireless/util.c | 5 +++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/net/wireless/core.c b/net/wireless/core.c index 907f62c..029db45 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -458,8 +458,14 @@ int wiphy_register(struct wiphy *wiphy) continue; sband->band = band; - - if (WARN_ON(!sband->n_channels || !sband->n_bitrates)) + if (WARN_ON(!sband->n_channels)) + return -EINVAL; + /* + * on 60gHz band, there are no legacy rates, so + * n_bitrates is 0 + */ + if (WARN_ON(band != IEEE80211_BAND_60GHZ && + !sband->n_bitrates)) return -EINVAL; /* diff --git a/net/wireless/util.c b/net/wireless/util.c index f3ce35b..11188c6 100644 --- a/net/wireless/util.c +++ b/net/wireless/util.c @@ -151,6 +151,11 @@ static void set_mandatory_flags_band(struct ieee80211_supported_band *sband, } WARN_ON(want != 0 && want != 3 && want != 6); break; + case IEEE80211_BAND_60GHZ: + /* check for mandatory HT MCS 1..4 */ + WARN_ON(!sband->ht_cap.ht_supported); + WARN_ON((sband->ht_cap.mcs.rx_mask[0] & 0x1e) != 0x1e); + break; case IEEE80211_NUM_BANDS: WARN_ON(1); break; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html