Subject: [PATCH 12/52] sfc: Self-test reporting cleanup

From: Ben Hutchings <[email-masked]>
Date: Mon, 1 Sep 2008 12:46:28 +0100

Removed log messages that are redundant with calling functions.
Fixed bitwise or-ing of return codes.

Signed-off-by: Ben Hutchings <[email-masked]>
---
 drivers/net/sfc/selftest.c |   42 ++++++++++++++++--------------------------
 1 files changed, 16 insertions(+), 26 deletions(-)

diff --git a/drivers/net/sfc/selftest.c b/drivers/net/sfc/selftest.c
index c79ddce..8ad517c 100644
--- a/drivers/net/sfc/selftest.c
+++ b/drivers/net/sfc/selftest.c
@@ -566,8 +566,8 @@ static int efx_test_loopbacks(struct efx_nic *efx,
 	struct ethtool_cmd ecmd, ecmd_loopback;
 	struct efx_tx_queue *tx_queue;
 	enum efx_loopback_mode old_mode, mode;
-	int count, rc = 0, link_up;
-	
+	int count, rc, link_up;
+
 	rc = efx_ethtool_get_settings(efx->net_dev, &ecmd);
 	if (rc) {
 		EFX_ERR(efx, "could not get GMII settings\n");
@@ -641,8 +641,8 @@ static int efx_test_loopbacks(struct efx_nic *efx,
 		efx_for_each_tx_queue(tx_queue, efx) {
 			state->offload_csum = (tx_queue->queue ==
 					       EFX_TX_QUEUE_OFFLOAD_CSUM);
-			rc |= efx_test_loopback(tx_queue,
-						&tests->loopback[mode]);
+			rc = efx_test_loopback(tx_queue,
+					       &tests->loopback[mode]);
 			if (rc)
 				goto out;
 		}
@@ -668,22 +668,20 @@ static int efx_test_loopbacks(struct efx_nic *efx,
 int efx_online_test(struct efx_nic *efx, struct efx_self_tests *tests)
 {
 	struct efx_channel *channel;
-	int rc = 0;
+	int rc;
 
-	EFX_LOG(efx, "performing online self-tests\n");
-
-	rc |= efx_test_interrupts(efx, tests);
+	rc = efx_test_interrupts(efx, tests);
+	if (rc)
+		return rc;
 	efx_for_each_channel(channel, efx) {
 		if (channel->has_interrupt)
-			rc |= efx_test_eventq_irq(channel, tests);
+			rc = efx_test_eventq_irq(channel, tests);
 		else
-			rc |= efx_test_eventq(channel, tests);
+			rc = efx_test_eventq(channel, tests);
+		if (rc)
+			return rc;
 	}
-	rc |= efx_test_phy(efx, tests);
-
-	if (rc)
-		EFX_ERR(efx, "failed online self-tests\n");
-
+	rc = efx_test_phy(efx, tests);
 	return rc;
 }
 
@@ -693,16 +691,12 @@ int efx_offline_test(struct efx_nic *efx,
 		     struct efx_self_tests *tests, unsigned int loopback_modes)
 {
 	struct efx_selftest_state *state;
-	int rc = 0;
-
-	EFX_LOG(efx, "performing offline self-tests\n");
+	int rc;
 
 	/* Create a selftest_state structure to hold state for the test */
 	state = kzalloc(sizeof(*state), GFP_KERNEL);
-	if (state == NULL) {
-		rc = -ENOMEM;
-		goto out;
-	}
+	if (state == NULL)
+		return -ENOMEM;
 
 	/* Set the port loopback_selftest member. From this point on
 	 * all received packets will be dropped. Mark the state as
@@ -717,10 +711,6 @@ int efx_offline_test(struct efx_nic *efx,
 	wmb();
 	kfree(state);
 
- out:
-	if (rc)
-		EFX_ERR(efx, "failed offline self-tests\n");
-
 	return rc;
 }
 
-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.