diff options
-rw-r--r-- | drivers/net/ns83820.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c index b42c05f84be1..ff449619f047 100644 --- a/drivers/net/ns83820.c +++ b/drivers/net/ns83820.c | |||
@@ -585,16 +585,13 @@ static inline int rx_refill(struct net_device *ndev, gfp_t gfp) | |||
585 | for (i=0; i<NR_RX_DESC; i++) { | 585 | for (i=0; i<NR_RX_DESC; i++) { |
586 | struct sk_buff *skb; | 586 | struct sk_buff *skb; |
587 | long res; | 587 | long res; |
588 | |||
588 | /* extra 16 bytes for alignment */ | 589 | /* extra 16 bytes for alignment */ |
589 | skb = __dev_alloc_skb(REAL_RX_BUF_SIZE+16, gfp); | 590 | skb = __netdev_alloc_skb(ndev, REAL_RX_BUF_SIZE+16, gfp); |
590 | if (unlikely(!skb)) | 591 | if (unlikely(!skb)) |
591 | break; | 592 | break; |
592 | 593 | ||
593 | res = (long)skb->data & 0xf; | 594 | skb_reserve(skb, skb->data - PTR_ALIGN(skb->data, 16)); |
594 | res = 0x10 - res; | ||
595 | res &= 0xf; | ||
596 | skb_reserve(skb, res); | ||
597 | |||
598 | if (gfp != GFP_ATOMIC) | 595 | if (gfp != GFP_ATOMIC) |
599 | spin_lock_irqsave(&dev->rx_info.lock, flags); | 596 | spin_lock_irqsave(&dev->rx_info.lock, flags); |
600 | res = ns83820_add_rx_skb(dev, skb); | 597 | res = ns83820_add_rx_skb(dev, skb); |