aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/arcnet/arcnet.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/arcnet/arcnet.c')
-rw-r--r--drivers/net/arcnet/arcnet.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/net/arcnet/arcnet.c b/drivers/net/arcnet/arcnet.c
index 83004fdab0a4..681e20b8466f 100644
--- a/drivers/net/arcnet/arcnet.c
+++ b/drivers/net/arcnet/arcnet.c
@@ -519,9 +519,12 @@ static int arcnet_header(struct sk_buff *skb, struct net_device *dev,
519 * real header when we do rebuild_header. 519 * real header when we do rebuild_header.
520 */ 520 */
521 *(uint16_t *) skb_push(skb, 2) = type; 521 *(uint16_t *) skb_push(skb, 2) = type;
522 if (skb->nh.raw - skb->mac.raw != 2) 522 /*
523 * XXX: Why not use skb->mac_len?
524 */
525 if (skb->network_header - skb->mac_header != 2)
523 BUGMSG(D_NORMAL, "arcnet_header: Yikes! diff (%d) is not 2!\n", 526 BUGMSG(D_NORMAL, "arcnet_header: Yikes! diff (%d) is not 2!\n",
524 (int)(skb->nh.raw - skb->mac.raw)); 527 (int)(skb->network_header - skb->mac_header));
525 return -2; /* return error -- can't transmit yet! */ 528 return -2; /* return error -- can't transmit yet! */
526 } 529 }
527 else { 530 else {
@@ -554,11 +557,13 @@ static int arcnet_rebuild_header(struct sk_buff *skb)
554 unsigned short type; 557 unsigned short type;
555 uint8_t daddr=0; 558 uint8_t daddr=0;
556 struct ArcProto *proto; 559 struct ArcProto *proto;
557 560 /*
558 if (skb->nh.raw - skb->mac.raw != 2) { 561 * XXX: Why not use skb->mac_len?
562 */
563 if (skb->network_header - skb->mac_header != 2) {
559 BUGMSG(D_NORMAL, 564 BUGMSG(D_NORMAL,
560 "rebuild_header: shouldn't be here! (hdrsize=%d)\n", 565 "rebuild_header: shouldn't be here! (hdrsize=%d)\n",
561 (int)(skb->nh.raw - skb->mac.raw)); 566 (int)(skb->network_header - skb->mac_header));
562 return 0; 567 return 0;
563 } 568 }
564 type = *(uint16_t *) skb_pull(skb, 2); 569 type = *(uint16_t *) skb_pull(skb, 2);