0001
0002
0003
0004
0005
0006 #include "mt7601u.h"
0007
0008 void mt76_remove_hdr_pad(struct sk_buff *skb)
0009 {
0010 int len = ieee80211_get_hdrlen_from_skb(skb);
0011
0012 memmove(skb->data + 2, skb->data, len);
0013 skb_pull(skb, 2);
0014 }
0015
0016 int mt76_insert_hdr_pad(struct sk_buff *skb)
0017 {
0018 int len = ieee80211_get_hdrlen_from_skb(skb);
0019 int ret;
0020
0021 if (len % 4 == 0)
0022 return 0;
0023
0024 ret = skb_cow(skb, 2);
0025 if (ret)
0026 return ret;
0027
0028 skb_push(skb, 2);
0029 memmove(skb->data, skb->data + 2, len);
0030
0031 skb->data[len] = 0;
0032 skb->data[len + 1] = 0;
0033 return 0;
0034 }