mt76: fix endianness sparse warnings
authorRyder Lee <ryder.lee@mediatek.com>
Fri, 26 Apr 2019 08:09:22 +0000 (16:09 +0800)
committerFelix Fietkau <nbd@nbd.name>
Wed, 1 May 2019 11:04:00 +0000 (13:04 +0200)
Fix many warnings with incorrect endian assumptions.

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Reviewed-by: Stanislaw Gruszka <sgruszka@redhat.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7603/mac.c
drivers/net/wireless/mediatek/mt76/mt7615/mac.c

index 2fd63597d305091809b36261b40e0db6619240d5..5eb2b5c5a122990809f34d4bd7f4e2eadeb4a75e 100644 (file)
@@ -590,7 +590,7 @@ mt7603_mac_fill_rx(struct mt7603_dev *dev, struct sk_buff *skb)
        status->aggr = unicast &&
                       !ieee80211_is_qos_nullfunc(hdr->frame_control);
        status->tid = *ieee80211_get_qos_ctl(hdr) & IEEE80211_QOS_CTL_TID_MASK;
-       status->seqno = IEEE80211_SEQ_TO_SN(hdr->seq_ctrl);
+       status->seqno = IEEE80211_SEQ_TO_SN(le16_to_cpu(hdr->seq_ctrl));
 
        return 0;
 }
index 1bf3e7b5f6a7503749f5469c2178623a264b04d7..b8f48d10f27a5b1c0436fad698715bbf4128ba6d 100644 (file)
@@ -235,7 +235,7 @@ int mt7615_mac_fill_rx(struct mt7615_dev *dev, struct sk_buff *skb)
        status->aggr = unicast &&
                       !ieee80211_is_qos_nullfunc(hdr->frame_control);
        status->tid = *ieee80211_get_qos_ctl(hdr) & IEEE80211_QOS_CTL_TID_MASK;
-       status->seqno = IEEE80211_SEQ_TO_SN(hdr->seq_ctrl);
+       status->seqno = IEEE80211_SEQ_TO_SN(le16_to_cpu(hdr->seq_ctrl));
 
        return 0;
 }
@@ -337,7 +337,7 @@ int mt7615_mac_write_txwi(struct mt7615_dev *dev, __le32 *txwi,
        struct ieee80211_vif *vif = info->control.vif;
        int tx_count = 8;
        u8 fc_type, fc_stype, p_fmt, q_idx, omac_idx = 0;
-       u16 fc = le16_to_cpu(hdr->frame_control);
+       __le16 fc = hdr->frame_control;
        u16 seqno = 0;
        u32 val;
 
@@ -353,8 +353,8 @@ int mt7615_mac_write_txwi(struct mt7615_dev *dev, __le32 *txwi,
                tx_count = msta->rate_count;
        }
 
-       fc_type = (fc & IEEE80211_FCTL_FTYPE) >> 2;
-       fc_stype = (fc & IEEE80211_FCTL_STYPE) >> 4;
+       fc_type = (le16_to_cpu(fc) & IEEE80211_FCTL_FTYPE) >> 2;
+       fc_stype = (le16_to_cpu(fc) & IEEE80211_FCTL_STYPE) >> 4;
 
        if (ieee80211_is_data(fc)) {
                q_idx = skb_get_queue_mapping(skb);
@@ -468,7 +468,7 @@ void mt7615_txp_skb_unmap(struct mt76_dev *dev,
        txp = (struct mt7615_txp *)(txwi + MT_TXD_SIZE);
        for (i = 1; i < txp->nbuf; i++)
                dma_unmap_single(dev->dev, le32_to_cpu(txp->buf[i]),
-                                le32_to_cpu(txp->len[i]), DMA_TO_DEVICE);
+                                le16_to_cpu(txp->len[i]), DMA_TO_DEVICE);
 }
 
 int mt7615_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
@@ -506,7 +506,7 @@ int mt7615_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
        txp = (struct mt7615_txp *)(txwi + MT_TXD_SIZE);
        for (i = 0; i < nbuf; i++) {
                txp->buf[i] = cpu_to_le32(tx_info->buf[i + 1].addr);
-               txp->len[i] = cpu_to_le32(tx_info->buf[i + 1].len);
+               txp->len[i] = cpu_to_le16(tx_info->buf[i + 1].len);
        }
        txp->nbuf = nbuf;