blob: aef0bea3cf8d7d4b63e17da06003af11b3000309 [file] [log] [blame]
From a744f7654a271c833e13e799232a8b0cbb1cd38a Mon Sep 17 00:00:00 2001
From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
Date: Mon, 18 Mar 2024 17:39:01 +0800
Subject: [PATCH 010/120] mtk: wifi: mt76: mt7996: add sanity checks for
background radar trigger
Check if background radar is enabled or not before manually triggering it,
and also add more checks in radar detected event.
CR-Id: WCNCR00274293
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
---
mt7996/debugfs.c | 5 +++++
mt7996/mcu.c | 5 ++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/mt7996/debugfs.c b/mt7996/debugfs.c
index 9bd953586..62c03d088 100644
--- a/mt7996/debugfs.c
+++ b/mt7996/debugfs.c
@@ -225,6 +225,11 @@ mt7996_radar_trigger(void *data, u64 val)
if (val > MT_RX_SEL2)
return -EINVAL;
+ if (val == MT_RX_SEL2 && !dev->rdd2_phy) {
+ dev_err(dev->mt76.dev, "Background radar is not enabled\n");
+ return -EINVAL;
+ }
+
return mt7996_mcu_rdd_cmd(dev, RDD_RADAR_EMULATE,
val, 0, 0);
}
diff --git a/mt7996/mcu.c b/mt7996/mcu.c
index ccae954a2..c024f138f 100644
--- a/mt7996/mcu.c
+++ b/mt7996/mcu.c
@@ -355,7 +355,10 @@ mt7996_mcu_rx_radar_detected(struct mt7996_dev *dev, struct sk_buff *skb)
if (r->band_idx >= ARRAY_SIZE(dev->mt76.phys))
return;
- if (dev->rdd2_phy && r->band_idx == MT_RX_SEL2)
+ if (r->band_idx == MT_RX_SEL2 && !dev->rdd2_phy)
+ return;
+
+ if (r->band_idx == MT_RX_SEL2)
mphy = dev->rdd2_phy->mt76;
else
mphy = dev->mt76.phys[r->band_idx];
--
2.39.2