wifi: mt76: mt7915: Fix mesh scan on MT7916 DBDC
[ Upstream commitf21b77cb55] commitc4f0755823("wifi: mt76: mt7915: fix command timeout in AP stop period") changes the behavior of mt7915_bss_info_changed() in mesh mode when enable_beacon becomes false: it calls mt7915_mcu_add_bss_info(..., false) and mt7915_mcu_add_sta(..., false) while the previous code didn't. These sends mcu commands that apparently confuse the firmware. This breaks scanning while in mesh mode on AsiaRF MT7916 DBDC-based cards: scanning works but no mesh frames get sent afterwards and the firmware seems to be hosed. It breaks on MT7916 DBDC but not on MT7915 DBDC. Fixes:c4f0755823("wifi: mt76: mt7915: fix command timeout in AP stop period") Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> Link: https://patch.msgid.link/20240927085350.4594-1-nicolas.cavallari@green-communications.fr Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
849fb90ccc
commit
a4ba608bd4
@@ -614,8 +614,9 @@ static void mt7915_bss_info_changed(struct ieee80211_hw *hw,
|
||||
if (changed & BSS_CHANGED_ASSOC)
|
||||
set_bss_info = vif->cfg.assoc;
|
||||
if (changed & BSS_CHANGED_BEACON_ENABLED &&
|
||||
info->enable_beacon &&
|
||||
vif->type != NL80211_IFTYPE_AP)
|
||||
set_bss_info = set_sta = info->enable_beacon;
|
||||
set_bss_info = set_sta = 1;
|
||||
|
||||
if (set_bss_info == 1)
|
||||
mt7915_mcu_add_bss_info(phy, vif, true);
|
||||
|
||||
Reference in New Issue
Block a user