diff options
Diffstat (limited to 'drivers/net/fec_8xx')
-rw-r--r-- | drivers/net/fec_8xx/fec_main.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/fec_8xx/fec_main.c b/drivers/net/fec_8xx/fec_main.c index 77f747a5afa7..e824d5d231af 100644 --- a/drivers/net/fec_8xx/fec_main.c +++ b/drivers/net/fec_8xx/fec_main.c | |||
@@ -551,7 +551,9 @@ static int fec_enet_rx_common(struct net_device *dev, int *budget) | |||
551 | skbn = dev_alloc_skb(pkt_len + 2); | 551 | skbn = dev_alloc_skb(pkt_len + 2); |
552 | if (skbn != NULL) { | 552 | if (skbn != NULL) { |
553 | skb_reserve(skbn, 2); /* align IP header */ | 553 | skb_reserve(skbn, 2); /* align IP header */ |
554 | memcpy(skbn->data, skb->data, pkt_len); | 554 | skb_copy_from_linear_data(skb |
555 | skbn->data, | ||
556 | pkt_len); | ||
555 | /* swap */ | 557 | /* swap */ |
556 | skbt = skb; | 558 | skbt = skb; |
557 | skb = skbn; | 559 | skb = skbn; |
@@ -561,7 +563,6 @@ static int fec_enet_rx_common(struct net_device *dev, int *budget) | |||
561 | skbn = dev_alloc_skb(ENET_RX_FRSIZE); | 563 | skbn = dev_alloc_skb(ENET_RX_FRSIZE); |
562 | 564 | ||
563 | if (skbn != NULL) { | 565 | if (skbn != NULL) { |
564 | skb->dev = dev; | ||
565 | skb_put(skb, pkt_len); /* Make room */ | 566 | skb_put(skb, pkt_len); /* Make room */ |
566 | skb->protocol = eth_type_trans(skb, dev); | 567 | skb->protocol = eth_type_trans(skb, dev); |
567 | received++; | 568 | received++; |