mt76: fix corrupted software generated tx CCMP PN
authorFelix Fietkau <nbd@nbd.name>
Fri, 25 Jan 2019 16:59:06 +0000 (17:59 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 18 Feb 2019 19:27:52 +0000 (20:27 +0100)
Since ccmp_pn is u8 *, the second half needs to start at array index 4
instead of 0. Fixes a connection stall after a certain amount of traffic

Fixes: 23405236460b9 ("mt76: fix transmission of encrypted management frames")
Cc: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c

index bf39624c9b98ee8d2262470c27f63eec22ebaf35..eab713723b7ed17e32fb4841d761f898ca84b518 100644 (file)
@@ -314,7 +314,7 @@ void mt76x02_mac_write_txwi(struct mt76x02_dev *dev, struct mt76x02_txwi *txwi,
                ccmp_pn[6] = pn >> 32;
                ccmp_pn[7] = pn >> 40;
                txwi->iv = *((__le32 *)&ccmp_pn[0]);
-               txwi->eiv = *((__le32 *)&ccmp_pn[1]);
+               txwi->eiv = *((__le32 *)&ccmp_pn[4]);
        }
 
        spin_lock_bh(&dev->mt76.lock);