diff options
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index e7c93f44f810..610216ec4918 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -4224,9 +4224,12 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter, | |||
4224 | netdev_alloc_skb(netdev, length + NET_IP_ALIGN); | 4224 | netdev_alloc_skb(netdev, length + NET_IP_ALIGN); |
4225 | if (new_skb) { | 4225 | if (new_skb) { |
4226 | skb_reserve(new_skb, NET_IP_ALIGN); | 4226 | skb_reserve(new_skb, NET_IP_ALIGN); |
4227 | memcpy(new_skb->data - NET_IP_ALIGN, | 4227 | skb_copy_to_linear_data_offset(new_skb, |
4228 | skb->data - NET_IP_ALIGN, | 4228 | -NET_IP_ALIGN, |
4229 | length + NET_IP_ALIGN); | 4229 | (skb->data - |
4230 | NET_IP_ALIGN), | ||
4231 | (length + | ||
4232 | NET_IP_ALIGN)); | ||
4230 | /* save the skb in buffer_info as good */ | 4233 | /* save the skb in buffer_info as good */ |
4231 | buffer_info->skb = skb; | 4234 | buffer_info->skb = skb; |
4232 | skb = new_skb; | 4235 | skb = new_skb; |