Commit 9cf215d0 authored by Alexander Aring's avatar Alexander Aring Committed by Marcel Holtmann

mac802154: rx: move skb_reset_mac_header

This patch moves the skb_reset_mac_header call before frame parsing
while wpan rx and before monitor deliver functionality.
Signed-off-by: default avatarAlexander Aring <alex.aring@gmail.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent c9ca6401
...@@ -138,6 +138,8 @@ static int mac802154_parse_frame_start(struct sk_buff *skb, ...@@ -138,6 +138,8 @@ static int mac802154_parse_frame_start(struct sk_buff *skb,
int hlen; int hlen;
struct ieee802154_mac_cb *cb = mac_cb_init(skb); struct ieee802154_mac_cb *cb = mac_cb_init(skb);
skb_reset_mac_header(skb);
hlen = ieee802154_hdr_pull(skb, hdr); hlen = ieee802154_hdr_pull(skb, hdr);
if (hlen < 0) if (hlen < 0)
return -EINVAL; return -EINVAL;
...@@ -227,6 +229,7 @@ mac802154_monitors_rx(struct ieee802154_local *local, struct sk_buff *skb) ...@@ -227,6 +229,7 @@ mac802154_monitors_rx(struct ieee802154_local *local, struct sk_buff *skb)
u16 crc = crc_ccitt(0, skb->data, skb->len); u16 crc = crc_ccitt(0, skb->data, skb->len);
u8 *data; u8 *data;
skb_reset_mac_header(skb);
skb->ip_summed = CHECKSUM_UNNECESSARY; skb->ip_summed = CHECKSUM_UNNECESSARY;
skb->pkt_type = PACKET_OTHERHOST; skb->pkt_type = PACKET_OTHERHOST;
skb->protocol = htons(ETH_P_IEEE802154); skb->protocol = htons(ETH_P_IEEE802154);
...@@ -255,8 +258,6 @@ void ieee802154_rx(struct ieee802154_hw *hw, struct sk_buff *skb) ...@@ -255,8 +258,6 @@ void ieee802154_rx(struct ieee802154_hw *hw, struct sk_buff *skb)
WARN_ON_ONCE(softirq_count() == 0); WARN_ON_ONCE(softirq_count() == 0);
skb_reset_mac_header(skb);
if (!(local->hw.flags & IEEE802154_HW_OMIT_CKSUM)) { if (!(local->hw.flags & IEEE802154_HW_OMIT_CKSUM)) {
u16 crc; u16 crc;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment