Move mt7615_insert_ccmp_hdr in mac80211.c and rename it in
mt76_insert_ccmp_hdr since it is shared between mt7603 and mt7615
drivers

Signed-off-by: Lorenzo Bianconi <[email protected]>
---
 drivers/net/wireless/mediatek/mt76/mac80211.c | 23 ++++++++++++++++
 drivers/net/wireless/mediatek/mt76/mt76.h     |  1 +
 .../net/wireless/mediatek/mt76/mt7603/mac.c   | 26 +------------------
 .../net/wireless/mediatek/mt76/mt7615/mac.c   | 25 +-----------------
 4 files changed, 26 insertions(+), 49 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mac80211.c 
b/drivers/net/wireless/mediatek/mt76/mac80211.c
index 5b6a81ee457e..e70507a4b14d 100644
--- a/drivers/net/wireless/mediatek/mt76/mac80211.c
+++ b/drivers/net/wireless/mediatek/mt76/mac80211.c
@@ -820,3 +820,26 @@ mt76_set_tim(struct ieee80211_hw *hw, struct ieee80211_sta 
*sta, bool set)
        return 0;
 }
 EXPORT_SYMBOL_GPL(mt76_set_tim);
+
+void mt76_insert_ccmp_hdr(struct sk_buff *skb, u8 key_id)
+{
+       struct mt76_rx_status *status = (struct mt76_rx_status *)skb->cb;
+       int hdr_len = ieee80211_get_hdrlen_from_skb(skb);
+       u8 *hdr, *pn = status->iv;
+
+       __skb_push(skb, 8);
+       memmove(skb->data, skb->data + 8, hdr_len);
+       hdr = skb->data + hdr_len;
+
+       hdr[0] = pn[5];
+       hdr[1] = pn[4];
+       hdr[2] = 0;
+       hdr[3] = 0x20 | (key_id << 6);
+       hdr[4] = pn[3];
+       hdr[5] = pn[2];
+       hdr[6] = pn[1];
+       hdr[7] = pn[0];
+
+       status->flag &= ~RX_FLAG_IV_STRIPPED;
+}
+EXPORT_SYMBOL_GPL(mt76_insert_ccmp_hdr);
diff --git a/drivers/net/wireless/mediatek/mt76/mt76.h 
b/drivers/net/wireless/mediatek/mt76/mt76.h
index fc4169c83e76..8edf476f9f2f 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76.h
+++ b/drivers/net/wireless/mediatek/mt76/mt76.h
@@ -750,6 +750,7 @@ void mt76_csa_check(struct mt76_dev *dev);
 void mt76_csa_finish(struct mt76_dev *dev);
 
 int mt76_set_tim(struct ieee80211_hw *hw, struct ieee80211_sta *sta, bool set);
+void mt76_insert_ccmp_hdr(struct sk_buff *skb, u8 key_id);
 
 /* internal */
 void mt76_tx_free(struct mt76_dev *dev);
diff --git a/drivers/net/wireless/mediatek/mt76/mt7603/mac.c 
b/drivers/net/wireless/mediatek/mt76/mt7603/mac.c
index 0ccba5926b68..5c09b2dbf3fd 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7603/mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7603/mac.c
@@ -418,30 +418,6 @@ mt7603_rx_get_wcid(struct mt7603_dev *dev, u8 idx, bool 
unicast)
        return &sta->vif->sta.wcid;
 }
 
-static void
-mt7603_insert_ccmp_hdr(struct sk_buff *skb, u8 key_id)
-{
-       struct mt76_rx_status *status = (struct mt76_rx_status *)skb->cb;
-       int hdr_len = ieee80211_get_hdrlen_from_skb(skb);
-       u8 *pn = status->iv;
-       u8 *hdr;
-
-       __skb_push(skb, 8);
-       memmove(skb->data, skb->data + 8, hdr_len);
-       hdr = skb->data + hdr_len;
-
-       hdr[0] = pn[5];
-       hdr[1] = pn[4];
-       hdr[2] = 0;
-       hdr[3] = 0x20 | (key_id << 6);
-       hdr[4] = pn[3];
-       hdr[5] = pn[2];
-       hdr[6] = pn[1];
-       hdr[7] = pn[0];
-
-       status->flag &= ~RX_FLAG_IV_STRIPPED;
-}
-
 int
 mt7603_mac_fill_rx(struct mt7603_dev *dev, struct sk_buff *skb)
 {
@@ -580,7 +556,7 @@ mt7603_mac_fill_rx(struct mt7603_dev *dev, struct sk_buff 
*skb)
        if (insert_ccmp_hdr) {
                u8 key_id = FIELD_GET(MT_RXD1_NORMAL_KEY_ID, rxd1);
 
-               mt7603_insert_ccmp_hdr(skb, key_id);
+               mt76_insert_ccmp_hdr(skb, key_id);
        }
 
        hdr = (struct ieee80211_hdr *)skb->data;
diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c 
b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
index b8f48d10f27a..1d6ebea17132 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c
@@ -61,29 +61,6 @@ static int mt7615_get_rate(struct mt7615_dev *dev,
        return 0;
 }
 
-static void mt7615_insert_ccmp_hdr(struct sk_buff *skb, u8 key_id)
-{
-       struct mt76_rx_status *status = (struct mt76_rx_status *)skb->cb;
-       int hdr_len = ieee80211_get_hdrlen_from_skb(skb);
-       u8 *pn = status->iv;
-       u8 *hdr;
-
-       __skb_push(skb, 8);
-       memmove(skb->data, skb->data + 8, hdr_len);
-       hdr = skb->data + hdr_len;
-
-       hdr[0] = pn[5];
-       hdr[1] = pn[4];
-       hdr[2] = 0;
-       hdr[3] = 0x20 | (key_id << 6);
-       hdr[4] = pn[3];
-       hdr[5] = pn[2];
-       hdr[6] = pn[1];
-       hdr[7] = pn[0];
-
-       status->flag &= ~RX_FLAG_IV_STRIPPED;
-}
-
 int mt7615_mac_fill_rx(struct mt7615_dev *dev, struct sk_buff *skb)
 {
        struct mt76_rx_status *status = (struct mt76_rx_status *)skb->cb;
@@ -225,7 +202,7 @@ int mt7615_mac_fill_rx(struct mt7615_dev *dev, struct 
sk_buff *skb)
        if (insert_ccmp_hdr) {
                u8 key_id = FIELD_GET(MT_RXD1_NORMAL_KEY_ID, rxd1);
 
-               mt7615_insert_ccmp_hdr(skb, key_id);
+               mt76_insert_ccmp_hdr(skb, key_id);
        }
 
        hdr = (struct ieee80211_hdr *)skb->data;
-- 
2.20.1

Reply via email to