usbnet: allow mini-drivers to consume L2 headers
Assume the minidriver has taken care of all L2 header parsing if it sets skb->protocol. This allows the minidriver to support non-ethernet L2 headers, and even operate without any L2 header at all. Signed-off-by: Bjørn Mork <bjorn@mork.no> Acked-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
544c8f6507
commit
81e0ce79f2
|
@ -324,7 +324,10 @@ void usbnet_skb_return (struct usbnet *dev, struct sk_buff *skb)
|
|||
return;
|
||||
}
|
||||
|
||||
skb->protocol = eth_type_trans (skb, dev->net);
|
||||
/* only update if unset to allow minidriver rx_fixup override */
|
||||
if (skb->protocol == 0)
|
||||
skb->protocol = eth_type_trans (skb, dev->net);
|
||||
|
||||
dev->net->stats.rx_packets++;
|
||||
dev->net->stats.rx_bytes += skb->len;
|
||||
|
||||
|
|
Loading…
Reference in New Issue