diff options
| -rw-r--r-- | drivers/net/can/dev.c | 5 | ||||
| -rw-r--r-- | net/can/af_can.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c index a25442e..db9100f 100644 --- a/drivers/net/can/dev.c +++ b/drivers/net/can/dev.c @@ -468,6 +468,11 @@ struct sk_buff *alloc_can_skb(struct net_device *dev, struct can_frame **cf) skb->protocol = htons(ETH_P_CAN); skb->pkt_type = PACKET_BROADCAST; skb->ip_summed = CHECKSUM_UNNECESSARY; + + skb_reset_mac_header(skb); + skb_reset_network_header(skb); + skb_reset_transport_header(skb); + *cf = (struct can_frame *)skb_put(skb, sizeof(struct can_frame)); memset(*cf, 0, sizeof(struct can_frame)); diff --git a/net/can/af_can.c b/net/can/af_can.c index 0ce2ad0..7d9dff222 100644 --- a/net/can/af_can.c +++ b/net/can/af_can.c @@ -244,6 +244,9 @@ int can_send(struct sk_buff *skb, int loop) } skb->protocol = htons(ETH_P_CAN); + skb->ip_summed = CHECKSUM_UNNECESSARY; + + skb_reset_mac_header(skb); skb_reset_network_header(skb); skb_reset_transport_header(skb); |
