diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2006-09-06 10:17:55 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-09-08 14:51:40 -0700 |
commit | f117ca328f2de3ca2db90d5775031152fe0c2496 (patch) | |
tree | 07c55cc7cc2e2d0471285d9b5372e4d712c0d54d | |
parent | 15d658cb2010ec52e74920cfa64ef0427191ec3e (diff) | |
download | lwn-f117ca328f2de3ca2db90d5775031152fe0c2496.tar.gz lwn-f117ca328f2de3ca2db90d5775031152fe0c2496.zip |
sky2: use dev_alloc_skb for receive buffers
Several code paths assume an additional 16 bytes of header padding
on the receive path. Use dev_alloc_skb to get that padding.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/net/sky2.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 72659839f1dc..8a141b20f1b2 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -949,14 +949,14 @@ static void sky2_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) /* * It appears the hardware has a bug in the FIFO logic that * cause it to hang if the FIFO gets overrun and the receive buffer - * is not aligned. ALso alloc_skb() won't align properly if slab + * is not aligned. Also dev_alloc_skb() won't align properly if slab * debugging is enabled. */ static inline struct sk_buff *sky2_alloc_skb(unsigned int size, gfp_t gfp_mask) { struct sk_buff *skb; - skb = alloc_skb(size + RX_SKB_ALIGN, gfp_mask); + skb = __dev_alloc_skb(size + RX_SKB_ALIGN, gfp_mask); if (likely(skb)) { unsigned long p = (unsigned long) skb->data; skb_reserve(skb, ALIGN(p, RX_SKB_ALIGN) - p); @@ -1855,7 +1855,7 @@ static struct sk_buff *sky2_receive(struct sky2_port *sky2, goto oversize; if (length < copybreak) { - skb = alloc_skb(length + 2, GFP_ATOMIC); + skb = dev_alloc_skb(length + 2); if (!skb) goto resubmit; |