wifi: mt76: mt7996: set correct background radar capability

Some of the variants do not support background radar, so add a helper
to report background radar capability.

Signed-off-by: StanleyYP Wang <[email protected]>
Signed-off-by: Shayne Chen <[email protected]>
Tested-by: Daniel Golle <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
StanleyYP Wang
2024-09-27 07:47:31 +02:00
committed by Felix Fietkau
parent 4364571e4b
commit 8c86aa304e
2 changed files with 23 additions and 3 deletions
+4 -3
View File
@@ -390,9 +390,10 @@ 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);
if (!mdev->dev->of_node ||
!of_property_read_bool(mdev->dev->of_node,
"mediatek,disable-radar-background"))
if (mt7996_has_background_radar(phy->dev) &&
(!mdev->dev->of_node ||
!of_property_read_bool(mdev->dev->of_node,
"mediatek,disable-radar-background")))
wiphy_ext_feature_set(wiphy,
NL80211_EXT_FEATURE_RADAR_BACKGROUND);
+19
View File
@@ -445,6 +445,25 @@ mt7996_band_valid(struct mt7996_dev *dev, u8 band)
return band <= MT_BAND2;
}
static inline bool
mt7996_has_background_radar(struct mt7996_dev *dev)
{
switch (mt76_chip(&dev->mt76)) {
case 0x7990:
if (dev->var.type == MT7996_VAR_TYPE_233)
return false;
break;
case 0x7992:
if (dev->var.type == MT7992_VAR_TYPE_23)
return false;
break;
default:
return false;
}
return true;
}
extern const struct ieee80211_ops mt7996_ops;
extern struct pci_driver mt7996_pci_driver;
extern struct pci_driver mt7996_hif_driver;