| 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 |
| |