]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
mt76: mt76x02: reduce false positives in ED/CCA tx blocking
authorFelix Fietkau <nbd@nbd.name>
Sat, 2 Mar 2019 17:19:20 +0000 (18:19 +0100)
committerFelix Fietkau <nbd@nbd.name>
Thu, 7 Mar 2019 11:50:23 +0000 (12:50 +0100)
commita0ac806109277bd865b1048ec521f708b195670b
treee4b7911679fa82a927ee995077051c9be43e4504
parent3fd0824a2f800a2870569d385917ae1102647055
mt76: mt76x02: reduce false positives in ED/CCA tx blocking

Full tx blocking (as opposed to CCA blocking) should only happen if there
is a continuous non-802.11 signal above the energy detect threshold.
Unfortunately the ED/CCA counter can't detect that, as it also counts 802.11
signals as busy.

Similar to the vendor code, implement a learning mode that waits until the AGC
gain has already been adjusted to the lowest value (due to false CCA events),
and the number of false CCA events still remains high, and the blocking
threshold is exceeded for more than 5 seconds.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x02.h
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
drivers/net/wireless/mediatek/mt76/mt76x02_phy.c