[PATCH] wifi: mt76: connac3: refactor CLC header type validation logic
JB Tsai <[email protected]>
| Newsgroups | org.infradead.lists.linux-mediatek,org.kernel.vger.linux-wireless |
|---|---|
| Message-ID | <[email protected]> |
From: Charlie-cy Wu <[email protected]> Separate the hardware encapsulation type validation into two distinct checks based on CLC index type. For BE_CTRL and REGD indices, validate against the t2 header type, while other indices should validate against the t0 header type. This ensures proper CLC filtering for different calibration data structures. Fixes: 4ce639ea518f ("wifi: mt76: mt7925: add regulatory wiphy self manager support") Signed-off-by: Charlie-cy Wu <[email protected]> --- drivers/net/wireless/mediatek/mt76/mt7925/mcu.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c index a12b939b6123..37502d8a0e7d 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c @@ -899,8 +899,11 @@ static int mt7925_load_clc(struct mt792x_dev *dev, const char *fw_name) continue; /* header content sanity */ - if ((clc->idx == MT792x_CLC_BE_CTRL && - u8_get_bits(clc->t2.type, MT_EE_HW_TYPE_ENCAP) != hw_encap) || + if ((clc->idx == MT792x_CLC_BE_CTRL || clc->idx == MT792x_CLC_REGD) && + u8_get_bits(clc->t2.type, MT_EE_HW_TYPE_ENCAP) != hw_encap) + continue; + + if (clc->idx != MT792x_CLC_BE_CTRL && clc->idx != MT792x_CLC_REGD && u8_get_bits(clc->t0.type, MT_EE_HW_TYPE_ENCAP) != hw_encap) continue; -- 2.18.0