浏览代码

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>
Florian Fainelli 9 年之前
父节点
当前提交
9507ffc2ac
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      drivers/net/ethernet/rdc/r6040.c

+ 2 - 1
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 */