wifi: mt76: mt7996: abort CCA when CSA is starting

When CSA countdown is going to start, carry UNI_BSS_INFO_BCN_BCC tag to
abort any CCA countdown.

Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Link: https://patch.msgid.link/20251215063728.3013365-4-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
StanleyYP Wang 2025-12-15 14:37:25 +08:00 committed by Felix Fietkau
parent 7247037a01
commit fdce55c038
2 changed files with 20 additions and 1 deletions

View File

@ -2796,6 +2796,16 @@ mt7996_mcu_beacon_cntdwn(struct sk_buff *rskb, struct sk_buff *skb,
info = (struct bss_bcn_cntdwn_tlv *)tlv;
info->cnt = skb->data[offs->cntdwn_counter_offs[0]];
/* abort the CCA countdown when starting CSA countdown */
if (csa) {
struct bss_bcn_cntdwn_tlv *cca_info;
tlv = mt7996_mcu_add_uni_tlv(rskb, UNI_BSS_INFO_BCN_BCC,
sizeof(*cca_info));
cca_info = (struct bss_bcn_cntdwn_tlv *)tlv;
cca_info->cca.abort = true;
}
}
static void

View File

@ -412,7 +412,16 @@ struct bss_bcn_cntdwn_tlv {
__le16 tag;
__le16 len;
u8 cnt;
u8 rsv[3];
union {
struct {
bool static_pp;
bool abort;
} csa;
struct {
bool abort;
} cca;
};
u8 rsv;
} __packed;
struct bss_bcn_mbss_tlv {