wifi: mt76: mt7603: improve stuck beacon handling
authorFelix Fietkau <nbd@nbd.name>
Fri, 28 Jul 2023 14:21:18 +0000 (16:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:58:58 +0000 (11:58 +0100)
commit8caa9dd3d1a7c9ad9e5504dd7b205ae893e61247
treee0813355280f1305416406a9e5dd01530dba3519
parent767f1180229f66c7425692d7b209e11f45905913
wifi: mt76: mt7603: improve stuck beacon handling

[ Upstream commit 3176205933494bd184c6acd70e796c382bc729b5 ]

Before preparing the new beacon, check the queue status, flush out all
previous beacons and buffered multicast packets, then (if necessary)
try to recover more gracefully from a stuck beacon condition by making a
less invasive attempt at getting the MAC un-stuck.

Fixes: c8846e101502 ("mt76: add driver for MT7603E and MT7628/7688")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/mediatek/mt76/mt7603/beacon.c
drivers/net/wireless/mediatek/mt76/mt7603/regs.h