[PATCH] e1000: Report failure code when loopback

Linux Kernel Mailing List <[email protected]> Thu, 24 Feb 2005 05:41:05 +0000
Newsgroups gmane.linux.kernel.commits.2-4
Message-ID <[email protected]>
ChangeSet 1.1548.1.8, 2005/02/24 00:41:05-05:00, [email protected]

	[PATCH] e1000: Report failure code when loopback
	
	8 Report failure code when loopback test fails
	Signed-off-by: Mallikarjuna R Chilakala <[email protected]>
	Signed-off-by: Ganesh Venkatesan <[email protected]>
	Signed-off-by: John Ronciak <[email protected]>
	Signed-off-by: Jeff Garzik <[email protected]>



 e1000_ethtool.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)


diff -Nru a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c
--- a/drivers/net/e1000/e1000_ethtool.c	2005-03-04 12:03:04 -08:00
+++ b/drivers/net/e1000/e1000_ethtool.c	2005-03-04 12:03:04 -08:00
@@ -1309,7 +1309,7 @@
 	struct e1000_desc_ring *txdr = &adapter->test_tx_ring;
 	struct e1000_desc_ring *rxdr = &adapter->test_rx_ring;
 	struct pci_dev *pdev = adapter->pdev;
-	int i;
+	int i, ret_val;
 
 	E1000_WRITE_REG(&adapter->hw, RDT, rxdr->count - 1);
 
@@ -1329,11 +1329,12 @@
 					    rxdr->buffer_info[i].length,
 					    PCI_DMA_FROMDEVICE);
 
-		if (!e1000_check_lbtest_frame(rxdr->buffer_info[i++].skb, 1024))
-			return 0;
-	} while (i < 64);
+		ret_val = e1000_check_lbtest_frame(rxdr->buffer_info[i].skb,
+						   1024);
+		i++;
+	} while (ret_val != 0 && i < 64);
 
-	return 13;
+	return ret_val;
 }
 
 static int