On Fri, 2022-03-04 at 15:34 +0800, Ping-Ke Shih wrote: > To work properly in 6G band, declare HE 6G capabilities. Without this fix, > it can only TX/RX with OFDM rates. > > Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> > --- > drivers/net/wireless/realtek/rtw89/core.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c > index a0086b14550a8..81c1c28e6e92c 100644 > --- a/drivers/net/wireless/realtek/rtw89/core.c > +++ b/drivers/net/wireless/realtek/rtw89/core.c > @@ -2383,6 +2383,15 @@ static void rtw89_init_he_cap(struct rtw89_dev *rtwdev, > he_cap->he_mcs_nss_supp.tx_mcs_160 = cpu_to_le16(mcs_map); > } > > + if (band == NL80211_BAND_6GHZ) { > + __le16 capa; > + > + capa = u16_encode_bits(0, IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START) | > le16_encode_bits()? I guess sparse would tell. But it looks weird with the constants, I guess you mean le16_encode_bits(IEEE80211_HT_MPDU_DENSITY_NONE, IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START) | le16_encode_bits(IEEE80211_VHT_MAX_AMPDU_1024K, ...) | ... (there's documentation in ieee80211.h which value enums should be used) johannes