From: Yang Wei <yang.w...@zte.com.cn>

dev_consume_skb_irq() should be called when skb xmit done. It makes
drop profiles(dropwatch, perf) more friendly.

Signed-off-by: Yang Wei <yang.w...@zte.com.cn>
---
 drivers/net/ethernet/natsemi/natsemi.c | 2 +-
 drivers/net/ethernet/natsemi/ns83820.c | 2 +-
 drivers/net/ethernet/natsemi/sonic.c   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/natsemi/natsemi.c 
b/drivers/net/ethernet/natsemi/natsemi.c
index b9a1a9f..1a2634c 100644
--- a/drivers/net/ethernet/natsemi/natsemi.c
+++ b/drivers/net/ethernet/natsemi/natsemi.c
@@ -2173,7 +2173,7 @@ static void netdev_tx_done(struct net_device *dev)
                                        np->tx_skbuff[entry]->len,
                                        PCI_DMA_TODEVICE);
                /* Free the original skb. */
-               dev_kfree_skb_irq(np->tx_skbuff[entry]);
+               dev_consume_skb_irq(np->tx_skbuff[entry]);
                np->tx_skbuff[entry] = NULL;
        }
        if (netif_queue_stopped(dev) &&
diff --git a/drivers/net/ethernet/natsemi/ns83820.c 
b/drivers/net/ethernet/natsemi/ns83820.c
index 958fced..000009e 100644
--- a/drivers/net/ethernet/natsemi/ns83820.c
+++ b/drivers/net/ethernet/natsemi/ns83820.c
@@ -1003,7 +1003,7 @@ static void do_tx_done(struct net_device *ndev)
                                        addr,
                                        len,
                                        PCI_DMA_TODEVICE);
-                       dev_kfree_skb_irq(skb);
+                       dev_consume_skb_irq(skb);
                        atomic_dec(&dev->nr_tx_skbs);
                } else
                        pci_unmap_page(dev->pci_dev,
diff --git a/drivers/net/ethernet/natsemi/sonic.c 
b/drivers/net/ethernet/natsemi/sonic.c
index c805dcb..aaec009 100644
--- a/drivers/net/ethernet/natsemi/sonic.c
+++ b/drivers/net/ethernet/natsemi/sonic.c
@@ -328,7 +328,7 @@ static irqreturn_t sonic_interrupt(int irq, void *dev_id)
                                }
 
                                /* We must free the original skb */
-                               dev_kfree_skb_irq(lp->tx_skb[entry]);
+                               dev_consume_skb_irq(lp->tx_skb[entry]);
                                lp->tx_skb[entry] = NULL;
                                /* and unmap DMA buffer */
                                dma_unmap_single(lp->device, 
lp->tx_laddr[entry], lp->tx_len[entry], DMA_TO_DEVICE);
-- 
2.7.4


Reply via email to