Thread (5 messages) flat view 5 messages, 3 authors, 2012-01-23

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 +0100
quoted
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_skb
quoted
 /* 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.
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help