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.10 333/575] mt76: mt76x02: fix endianness warnings in mt76x02_mac.c
    Date
    From: Lorenzo Bianconi <lorenzo@kernel.org>

    [ Upstream commit c33edef520213feccebc22c9474c685b9fb60611 ]

    Fix the following sparse warning in mt76x02_mac_write_txwi and
    mt76x02_mac_tx_rate_val routines:
    drivers/net/wireless/mediatek/mt76/mt76x02_mac.c:237:19:
    warning: restricted __le16 degrades to intege
    warning: cast from restricted __le16
    drivers/net/wireless/mediatek/mt76/mt76x02_mac.c:383:28:
    warning: incorrect type in assignment (different base types)
    expected restricted __le16 [usertype] rate
    got unsigned long

    Fixes: db9f11d3433f7 ("mt76: store wcid tx rate info in one u32 reduce locking")
    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/mt76x02_mac.c | 13 +++++++------
    1 file changed, 7 insertions(+), 6 deletions(-)

    diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c b/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
    index da6d3f51f6d47..677082d8659a6 100644
    --- a/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
    +++ b/drivers/net/wireless/mediatek/mt76/mt76x02_mac.c
    @@ -176,7 +176,7 @@ void mt76x02_mac_wcid_set_drop(struct mt76x02_dev *dev, u8 idx, bool drop)
    mt76_wr(dev, MT_WCID_DROP(idx), (val & ~bit) | (bit * drop));
    }

    -static __le16
    +static u16
    mt76x02_mac_tx_rate_val(struct mt76x02_dev *dev,
    const struct ieee80211_tx_rate *rate, u8 *nss_val)
    {
    @@ -222,14 +222,14 @@ mt76x02_mac_tx_rate_val(struct mt76x02_dev *dev,
    rateval |= MT_RXWI_RATE_SGI;

    *nss_val = nss;
    - return cpu_to_le16(rateval);
    + return rateval;
    }

    void mt76x02_mac_wcid_set_rate(struct mt76x02_dev *dev, struct mt76_wcid *wcid,
    const struct ieee80211_tx_rate *rate)
    {
    s8 max_txpwr_adj = mt76x02_tx_get_max_txpwr_adj(dev, rate);
    - __le16 rateval;
    + u16 rateval;
    u32 tx_info;
    s8 nss;

    @@ -342,7 +342,7 @@ void mt76x02_mac_write_txwi(struct mt76x02_dev *dev, struct mt76x02_txwi *txwi,
    struct ieee80211_key_conf *key = info->control.hw_key;
    u32 wcid_tx_info;
    u16 rate_ht_mask = FIELD_PREP(MT_RXWI_RATE_PHY, BIT(1) | BIT(2));
    - u16 txwi_flags = 0;
    + u16 txwi_flags = 0, rateval;
    u8 nss;
    s8 txpwr_adj, max_txpwr_adj;
    u8 ccmp_pn[8], nstreams = dev->chainmask & 0xf;
    @@ -380,14 +380,15 @@ void mt76x02_mac_write_txwi(struct mt76x02_dev *dev, struct mt76x02_txwi *txwi,

    if (wcid && (rate->idx < 0 || !rate->count)) {
    wcid_tx_info = wcid->tx_info;
    - txwi->rate = FIELD_GET(MT_WCID_TX_INFO_RATE, wcid_tx_info);
    + rateval = FIELD_GET(MT_WCID_TX_INFO_RATE, wcid_tx_info);
    max_txpwr_adj = FIELD_GET(MT_WCID_TX_INFO_TXPWR_ADJ,
    wcid_tx_info);
    nss = FIELD_GET(MT_WCID_TX_INFO_NSS, wcid_tx_info);
    } else {
    - txwi->rate = mt76x02_mac_tx_rate_val(dev, rate, &nss);
    + rateval = mt76x02_mac_tx_rate_val(dev, rate, &nss);
    max_txpwr_adj = mt76x02_tx_get_max_txpwr_adj(dev, rate);
    }
    + txwi->rate = cpu_to_le16(rateval);

    txpwr_adj = mt76x02_tx_get_txpwr_adj(dev, dev->txpower_conf,
    max_txpwr_adj);
    --
    2.33.0


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