From: Florian Fainelli Date: Mon, 4 Jul 2016 21:36:05 +0000 (-0700) Subject: net: r6040: Check for skb->xmit_more X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=9507ffc2acf04c9b1aa02e346225d268c07d79f0;p=linux.git net: r6040: Check for skb->xmit_more Kick the transmission only if this is the last SKB to transmit or the queue is not already stopped. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/rdc/r6040.c b/drivers/net/ethernet/rdc/r6040.c index 4bf78f18a9378..96b2d639c3c1b 100644 --- a/drivers/net/ethernet/rdc/r6040.c +++ b/drivers/net/ethernet/rdc/r6040.c @@ -840,7 +840,8 @@ static netdev_tx_t r6040_start_xmit(struct sk_buff *skb, skb_tx_timestamp(skb); /* Trigger the MAC to check the TX descriptor */ - iowrite16(TM2TX, ioaddr + MTPR); + if (!skb->xmit_more || netif_queue_stopped(dev)) + iowrite16(TM2TX, ioaddr + MTPR); lp->tx_insert_ptr = descptr->vndescp; /* If no tx resource, stop */