mac802154: rx: move skb->protocol setting
This patch moves the skb->protocol setting to the position when it's
needed. It's only needed when frame parsing was successful.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
diff --git a/net/mac802154/rx.c b/net/mac802154/rx.c
index 246a60e..c4066b5 100644
--- a/net/mac802154/rx.c
+++ b/net/mac802154/rx.c
@@ -31,6 +31,8 @@
static int mac802154_process_data(struct net_device *dev, struct sk_buff *skb)
{
+ skb->protocol = htons(ETH_P_IEEE802154);
+
return netif_receive_skb(skb);
}
@@ -224,6 +226,8 @@
u16 crc = crc_ccitt(0, skb->data, skb->len);
u8 *data;
+ skb->protocol = htons(ETH_P_IEEE802154);
+
rcu_read_lock();
list_for_each_entry_rcu(sdata, &local->interfaces, list) {
if (sdata->type != IEEE802154_DEV_MONITOR ||
@@ -248,7 +252,6 @@
WARN_ON_ONCE(softirq_count() == 0);
- skb->protocol = htons(ETH_P_IEEE802154);
skb_reset_mac_header(skb);
if (!(local->hw.flags & IEEE802154_HW_OMIT_CKSUM)) {