OSDN Git Service

net: dlink: sundance: replace dev_kfree_skb_irq by dev_consume_skb_irq for drop profiles
authorYang Wei <yang.wei9@zte.com.cn>
Wed, 13 Feb 2019 15:12:02 +0000 (23:12 +0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 14 Feb 2019 16:56:36 +0000 (11:56 -0500)
dev_consume_skb_irq() should be called in intr_handler() when skb
xmit done. It makes drop profiles(dropwatch, perf) more friendly.

Remove a redundant blank line in intr_handler().

Signed-off-by: Yang Wei <yang.wei9@zte.com.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/dlink/sundance.c

index 1a27176..4a37a69 100644 (file)
@@ -1193,7 +1193,6 @@ static irqreturn_t intr_handler(int irq, void *dev_instance)
        int handled = 0;
        int i;
 
-
        do {
                int intr_status = ioread16(ioaddr + IntrStatus);
                iowrite16(intr_status, ioaddr + IntrStatus);
@@ -1286,7 +1285,7 @@ static irqreturn_t intr_handler(int irq, void *dev_instance)
                                dma_unmap_single(&np->pci_dev->dev,
                                        le32_to_cpu(np->tx_ring[entry].frag[0].addr),
                                        skb->len, DMA_TO_DEVICE);
-                               dev_kfree_skb_irq (np->tx_skbuff[entry]);
+                               dev_consume_skb_irq(np->tx_skbuff[entry]);
                                np->tx_skbuff[entry] = NULL;
                                np->tx_ring[entry].frag[0].addr = 0;
                                np->tx_ring[entry].frag[0].length = 0;
@@ -1305,7 +1304,7 @@ static irqreturn_t intr_handler(int irq, void *dev_instance)
                                dma_unmap_single(&np->pci_dev->dev,
                                        le32_to_cpu(np->tx_ring[entry].frag[0].addr),
                                        skb->len, DMA_TO_DEVICE);
-                               dev_kfree_skb_irq (np->tx_skbuff[entry]);
+                               dev_consume_skb_irq(np->tx_skbuff[entry]);
                                np->tx_skbuff[entry] = NULL;
                                np->tx_ring[entry].frag[0].addr = 0;
                                np->tx_ring[entry].frag[0].length = 0;