From 0e408994956591787ce76a38af29cc6cfbee3ddf Mon Sep 17 00:00:00 2001 From: Lorenzo Bianconi Date: Sat, 19 Jun 2021 20:18:19 +0200 Subject: [PATCH] mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event Fix endianness in mt7921_mcu_tx_done_event event reported by the firmware. Fixes: 3cce2b98e0241 ("mt76: mt7921: introduce mac tx done handling") Signed-off-by: Lorenzo Bianconi Signed-off-by: Felix Fietkau --- mt7921/mcu.c | 3 ++- mt7921/mcu.h | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/mt7921/mcu.c b/mt7921/mcu.c index c2c4dc19..1819de86 100644 --- a/mt7921/mcu.c +++ b/mt7921/mcu.c @@ -532,7 +532,8 @@ mt7921_mcu_tx_done_event(struct mt7921_dev *dev, struct sk_buff *skb) peer.g8 = !!(sta->vht_cap.cap & IEEE80211_VHT_CAP_SHORT_GI_80); peer.g16 = !!(sta->vht_cap.cap & IEEE80211_VHT_CAP_SHORT_GI_160); mt7921_mcu_tx_rate_parse(mphy->mt76, &peer, - &msta->stats.tx_rate, event->tx_rate); + &msta->stats.tx_rate, + le16_to_cpu(event->tx_rate)); spin_lock_bh(&dev->sta_poll_lock); break; diff --git a/mt7921/mcu.h b/mt7921/mcu.h index d76cf8f8..d142c50c 100644 --- a/mt7921/mcu.h +++ b/mt7921/mcu.h @@ -295,11 +295,11 @@ struct mt7921_txpwr_event { struct mt7921_mcu_tx_done_event { u8 pid; u8 status; - u16 seq; + __le16 seq; u8 wlan_idx; u8 tx_cnt; - u16 tx_rate; + __le16 tx_rate; u8 flag; u8 tid; @@ -311,9 +311,9 @@ struct mt7921_mcu_tx_done_event { u8 reason; u8 rsv0[1]; - u32 delay; - u32 timestamp; - u32 applied_flag; + __le32 delay; + __le32 timestamp; + __le32 applied_flag; u8 txs[28];