提交 0a15b810 编写于 作者: F Felix Fietkau 提交者: Jialin Zhang

wifi: mt76: fix reading current per-tid starting sequence number for aggregation

stable inclusion
from stable-v5.10.146
commit bd5958ccfc451d3b61c7eb305fd53d9728791f79
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I6D0VX

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

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

commit c3a510e2 upstream.

The code was accidentally shifting register values down by tid % 32 instead of
(tid * field_size) % 32.

Cc: stable@vger.kernel.org
Fixes: a28bef56 ("mt76: mt7615: re-enable offloading of sequence number assignment")
Signed-off-by: NFelix Fietkau <nbd@nbd.name>
Signed-off-by: NKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220826182329.18155-1-nbd@nbd.nameSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: NJialin Zhang <zhangjialin11@huawei.com>
Reviewed-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 4f56b634
...@@ -950,7 +950,7 @@ u32 mt7615_mac_get_sta_tid_sn(struct mt7615_dev *dev, int wcid, u8 tid) ...@@ -950,7 +950,7 @@ u32 mt7615_mac_get_sta_tid_sn(struct mt7615_dev *dev, int wcid, u8 tid)
offset %= 32; offset %= 32;
val = mt76_rr(dev, addr); val = mt76_rr(dev, addr);
val >>= (tid % 32); val >>= offset;
if (offset > 20) { if (offset > 20) {
addr += 4; addr += 4;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册