mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 09:01:36 -04:00
mt76: mt7663u: fix dma header initialization
Fix length field corruption in usb dma header introduced adding sdio
support
Fixes: 75b10f0cbd ("mt76: mt76u: add mt76_skb_adjust_pad utility routine")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
committed by
Felix Fietkau
parent
ce8463a726
commit
8da40d6981
@@ -19,6 +19,7 @@ mt7663u_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
|
||||
{
|
||||
struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76);
|
||||
int ret, seq, ep;
|
||||
u32 len;
|
||||
|
||||
mutex_lock(&mdev->mcu.mutex);
|
||||
|
||||
@@ -28,7 +29,8 @@ mt7663u_mcu_send_message(struct mt76_dev *mdev, struct sk_buff *skb,
|
||||
else
|
||||
ep = MT_EP_OUT_AC_BE;
|
||||
|
||||
put_unaligned_le32(skb->len, skb_push(skb, sizeof(skb->len)));
|
||||
len = skb->len;
|
||||
put_unaligned_le32(len, skb_push(skb, sizeof(len)));
|
||||
ret = mt76_skb_adjust_pad(skb);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
|
||||
@@ -259,8 +259,11 @@ int mt7663_usb_sdio_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
|
||||
}
|
||||
|
||||
mt7663_usb_sdio_write_txwi(dev, wcid, qid, sta, skb);
|
||||
if (mt76_is_usb(mdev))
|
||||
put_unaligned_le32(skb->len, skb_push(skb, sizeof(skb->len)));
|
||||
if (mt76_is_usb(mdev)) {
|
||||
u32 len = skb->len;
|
||||
|
||||
put_unaligned_le32(len, skb_push(skb, sizeof(len)));
|
||||
}
|
||||
|
||||
return mt76_skb_adjust_pad(skb);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user