nl80211 refuses a non-zero NL80211_ATTR_PUNCT_BITMAP for a driver without NL80211_EXT_FEATURE_PUNCT, so an mt7996 AP cannot start or switch to a punctured channel. Advertise the feature. mt7996_set_channel() sends the puncturing bitmap of every chanctx to the firmware, including after a puncturing-only chanctx change. Co-developed-by: Shayne Chen Signed-off-by: Shayne Chen Signed-off-by: Felix Fietkau --- drivers/net/wireless/mediatek/mt76/mt7996/init.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7996/init.c b/drivers/net/wireless/mediatek/mt76/mt7996/init.c index cc94eade9950..f44a3a8588d3 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7996/init.c +++ b/drivers/net/wireless/mediatek/mt76/mt7996/init.c @@ -526,6 +526,7 @@ mt7996_init_wiphy(struct ieee80211_hw *hw, struct mtk_wed_device *wed) wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_CAN_REPLACE_PTK0); wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER); wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_SET_SCAN_DWELL); + wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_PUNCT); if (mt7996_eeprom_has_background_radar(dev) && (!mdev->dev->of_node || -- 2.47.3