瀏覽代碼

sh_eth: fix misreporting of transmit abort

Due to obviously missing braces, EESR.TABT (transmit abort) interrupt may be
reported even if it hasn't happened, just when EESR.TWB (transmit descriptor
write-back) interrupt happens. Luckily (?), EESR.TWB is disabled by the driver
via the TRIMD register and all the interrupt masks, so that transmit abort is
never actually logged...

Put the braces where they should be and fix the incoherent comment, while at it.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Sergei Shtylyov 12 年之前
父節點
當前提交
4eb313a7a9
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      drivers/net/ethernet/renesas/sh_eth.c

+ 3 - 2
drivers/net/ethernet/renesas/sh_eth.c

@@ -1552,11 +1552,12 @@ static void sh_eth_error(struct net_device *ndev, int intr_status)
 
 
 ignore_link:
 ignore_link:
 	if (intr_status & EESR_TWB) {
 	if (intr_status & EESR_TWB) {
-		/* Write buck end. unused write back interrupt */
-		if (intr_status & EESR_TABT)	/* Transmit Abort int */
+		/* Unused write back interrupt */
+		if (intr_status & EESR_TABT) {	/* Transmit Abort int */
 			ndev->stats.tx_aborted_errors++;
 			ndev->stats.tx_aborted_errors++;
 			if (netif_msg_tx_err(mdp))
 			if (netif_msg_tx_err(mdp))
 				dev_err(&ndev->dev, "Transmit Abort\n");
 				dev_err(&ndev->dev, "Transmit Abort\n");
+		}
 	}
 	}
 
 
 	if (intr_status & EESR_RABT) {
 	if (intr_status & EESR_RABT) {