wifi: mt76: fix reading current per-tid starting sequence number for aggregation
authorFelix Fietkau <nbd@nbd.name>
Fri, 26 Aug 2022 18:23:29 +0000 (20:23 +0200)
committerKalle Valo <kvalo@kernel.org>
Mon, 12 Sep 2022 11:25:14 +0000 (14:25 +0300)
The code was accidentally shifting register values down by tid % 32 instead of
(tid * field_size) % 32.

Cc: stable@vger.kernel.org
Fixes: a28bef561a5c ("mt76: mt7615: re-enable offloading of sequence number assignment")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220826182329.18155-1-nbd@nbd.name
drivers/net/wireless/mediatek/mt76/mt7615/mac.c

index ad6c7d632eed45bdcf6c3e0abc43dcae9aab6507..d6aae60c440deb62efdbfb80a3272948460a49bb 100644 (file)
@@ -1088,7 +1088,7 @@ u32 mt7615_mac_get_sta_tid_sn(struct mt7615_dev *dev, int wcid, u8 tid)
        offset %= 32;
 
        val = mt76_rr(dev, addr);
-       val >>= (tid % 32);
+       val >>= offset;
 
        if (offset > 20) {
                addr += 4;