Commit 12d4e00d authored by Felix Fietkau's avatar Felix Fietkau Committed by Wen Zhiwei
Browse files

wifi: mt76: mt7915: disable tx worker during tx BA session enable/disable

stable inclusion
from stable-v6.6.55
commit 3f5625e9e92b98ce0d0228fb179b1099e171a172
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IB0MX4

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3f5625e9e92b98ce0d0228fb179b1099e171a172

--------------------------------

[ Upstream commit 256cbd26fbafb30ba3314339106e5c594e9bd5f9 ]

Avoids firmware race condition.

Link: https://patch.msgid.link/20240827093011.18621-7-nbd@nbd.name


Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarWen Zhiwei <wenzhiwei@kylinos.cn>
parent d8e11a1a
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -688,13 +688,17 @@ int mt7915_mcu_add_tx_ba(struct mt7915_dev *dev,
{
	struct mt7915_sta *msta = (struct mt7915_sta *)params->sta->drv_priv;
	struct mt7915_vif *mvif = msta->vif;
	int ret;

	mt76_worker_disable(&dev->mt76.tx_worker);
	if (enable && !params->amsdu)
		msta->wcid.amsdu = false;

	return mt76_connac_mcu_sta_ba(&dev->mt76, &mvif->mt76, params,
	ret = mt76_connac_mcu_sta_ba(&dev->mt76, &mvif->mt76, params,
				     MCU_EXT_CMD(STA_REC_UPDATE),
				     enable, true);
	mt76_worker_enable(&dev->mt76.tx_worker);

	return ret;
}

int mt7915_mcu_add_rx_ba(struct mt7915_dev *dev,