@@ -418,7 +418,8 @@ mt76_phy_init(struct mt76_phy *phy, struct ieee80211_hw *hw)
418418 SET_IEEE80211_DEV (hw , dev -> dev );
419419 SET_IEEE80211_PERM_ADDR (hw , phy -> macaddr );
420420
421- wiphy -> features |= NL80211_FEATURE_ACTIVE_MONITOR ;
421+ wiphy -> features |= NL80211_FEATURE_ACTIVE_MONITOR |
422+ NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE ;
422423 wiphy -> flags |= WIPHY_FLAG_HAS_CHANNEL_SWITCH |
423424 WIPHY_FLAG_SUPPORTS_TDLS |
424425 WIPHY_FLAG_AP_UAPSD ;
@@ -1066,9 +1067,14 @@ mt76_rx_convert(struct mt76_dev *dev, struct sk_buff *skb,
10661067 status -> enc_flags = mstat .enc_flags ;
10671068 status -> encoding = mstat .encoding ;
10681069 status -> bw = mstat .bw ;
1069- status -> he_ru = mstat .he_ru ;
1070- status -> he_gi = mstat .he_gi ;
1071- status -> he_dcm = mstat .he_dcm ;
1070+ if (status -> encoding == RX_ENC_EHT ) {
1071+ status -> eht .ru = mstat .eht .ru ;
1072+ status -> eht .gi = mstat .eht .gi ;
1073+ } else {
1074+ status -> he_ru = mstat .he_ru ;
1075+ status -> he_gi = mstat .he_gi ;
1076+ status -> he_dcm = mstat .he_dcm ;
1077+ }
10721078 status -> rate_idx = mstat .rate_idx ;
10731079 status -> nss = mstat .nss ;
10741080 status -> band = mstat .band ;
@@ -1303,7 +1309,8 @@ mt76_check_sta(struct mt76_dev *dev, struct sk_buff *skb)
13031309 if (ps )
13041310 set_bit (MT_WCID_FLAG_PS , & wcid -> flags );
13051311
1306- dev -> drv -> sta_ps (dev , sta , ps );
1312+ if (dev -> drv -> sta_ps )
1313+ dev -> drv -> sta_ps (dev , sta , ps );
13071314
13081315 if (!ps )
13091316 clear_bit (MT_WCID_FLAG_PS , & wcid -> flags );
0 commit comments