Re: [PATCH/RESEND net 5/5][NON-TRIVIAL] drivers/net/ethernet: dev_alloc_skb to netdev_alloc_skb
From: Pradeep A. Dalvi <hidden>
Date: 2012-01-23 22:22:20
Also in:
lkml
On Tue, Jan 24, 2012 at 3:25 AM, David Miller [off-list ref] wrote:
From: Eric Dumazet <redacted> Date: Mon, 23 Jan 2012 22:04:27 +0100quoted
Le mardi 24 janvier 2012 à 02:24 +0530, Pradeep A. Dalvi a écrit :quoted
Replaced deprecating dev_alloc_skb with netdev_alloc_skb in drivers/net/ethernet - Removed extra skb->dev = dev after netdev_alloc_skbquoted
/* 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; elseThats 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.This is really terrible. Pradeep please stop sending these changes until you have your house in order. Your patches are buggy and ill conceived. Please do not submit more patches in this area until you spend the necessary time to truly understand these interfaces and how these code snippets actually work.
Thanks for inputs! Have submitted changes in total 118 files, and out of which changes in this 1 single file is outcome of final minute changes. Apologies for that! Although, there are 4 other patches with trivial changes in total 114 files. You may want to consider them and probably want to discard final i.e. 5th of 5 completely. Anyways, have already resubmitted all patches again, reverting changes pointed in here & correcting 5th patch.