mt76: mt7915: fix/rewrite the dfs state handling logic
authorFelix Fietkau <nbd@nbd.name>
Wed, 2 Feb 2022 22:11:58 +0000 (23:11 +0100)
committerFelix Fietkau <nbd@nbd.name>
Thu, 3 Feb 2022 15:14:58 +0000 (16:14 +0100)
commit3f3064486b1a5444e3f00de13eb758edffa3a5c1
treec69002ba86610ef7a8e072c49763910894a4ae75
parentc007ef8c339d1eb319163bf576da0f180e162060
mt76: mt7915: fix/rewrite the dfs state handling logic

Client mode on DFS channels was broken, because the old code was activating
the DFS detector on radar channels while leaving it in CAC state.
This was caused by making the decision based on the channel radar flag,
instead of hw->conf.radar_enabled.
In order to properly deal with the various corner cases, rip out the state
handling code and replace it with something that's much easier to reason
about.

Tested-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mac80211.c
drivers/net/wireless/mediatek/mt76/mt76.h
drivers/net/wireless/mediatek/mt76/mt7915/init.c
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
drivers/net/wireless/mediatek/mt76/mt7915/main.c
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h