lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 457/917] mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event
    Date
    From: Lorenzo Bianconi <lorenzo@kernel.org>

    [ Upstream commit df040215c077de0c13aab12c222bd0360a0d3988 ]

    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 <lorenzo@kernel.org>
    Signed-off-by: Felix Fietkau <nbd@nbd.name>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/mediatek/mt76/mt7921/mcu.c | 3 ++-
    drivers/net/wireless/mediatek/mt76/mt7921/mcu.h | 10 +++++-----
    2 files changed, 7 insertions(+), 6 deletions(-)

    diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
    index 9fbaacc67cfad..68840e55ede7a 100644
    --- a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
    +++ b/drivers/net/wireless/mediatek/mt76/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/drivers/net/wireless/mediatek/mt76/mt7921/mcu.h b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.h
    index de3c091f67368..42e7271848956 100644
    --- a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.h
    +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.h
    @@ -296,11 +296,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;
    @@ -312,9 +312,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];

    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 00:39    [W:3.106 / U:0.524 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site