Le mardi 24 janvier 2012 à 02:24 +0530, Pradeep A. Dalvi a écrit :
Replaced deprecating dev_alloc_skb with netdev_alloc_skb in drivers/net/ethernet
- Removed extra skb->dev = dev after netdev_alloc_skb
quoted hunk ↗ jump to hunk
/* Initialize the LANCE Rx and Tx rings. */
static void
-lance_init_ring(struct net_device *dev, gfp_t gfp)
+lance_init_ring(struct net_device *dev)
{
struct lance_private *lp = dev->ml_priv;
int i;@@ -871,13 +871,12 @@ lance_init_ring(struct net_device *dev, gfp_t gfp)
struct sk_buff *skb;
void *rx_buff;
- skb = alloc_skb(PKT_BUF_SZ, GFP_DMA | gfp);
+ skb = netdev_alloc_skb(dev, PKT_BUF_SZ);
lp->rx_skbuff[i] = skb;
- if (skb) {
- skb->dev = dev;
+ if (skb)
rx_buff = skb->data;
- } else
- rx_buff = kmalloc(PKT_BUF_SZ, GFP_DMA | gfp);
+ else
+ rx_buff = kmalloc(PKT_BUF_SZ, GFP_DMA | GFP_AUTOMIC);
if (rx_buff == NULL)
lp->rx_ring[i].base = 0;
else
Thats really crap, please dont send us such patches, not even compiled.
alloc_skb() has nothing to do with dev_alloc_skb(), and there is a
reason GFP_DMA is used in this driver.