diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2016-07-04 14:36:05 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-07-05 00:10:29 -0700 |
commit | 9507ffc2acf04c9b1aa02e346225d268c07d79f0 (patch) | |
tree | 2bc7d9d77c1a0ebaa67da84ddea45d5d2db789dc /drivers/net | |
parent | 58e6b056b0daa8f0287061cff2989e9d5e9a9b7c (diff) |
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 <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/rdc/r6040.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/rdc/r6040.c b/drivers/net/ethernet/rdc/r6040.c index 4bf78f18a937..96b2d639c3c1 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 */ |