aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/sfc
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2008-09-01 12:46:28 +0100
committerJeff Garzik <jgarzik@redhat.com>2008-09-03 09:53:43 -0400
commitf8ea0b6743f00180ee3260d82f383a02a4dd9a78 (patch)
treee1759a6ce270c0bf96c36f48938156d0116a5d0c /drivers/net/sfc
parente9713e6f4eb55a73c39a72fb8067fd053cdf8e95 (diff)
sfc: Self-test reporting cleanup
Removed log messages that are redundant with calling functions. Fixed bitwise or-ing of return codes. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/sfc')
-rw-r--r--drivers/net/sfc/selftest.c42
1 files changed, 16 insertions, 26 deletions
diff --git a/drivers/net/sfc/selftest.c b/drivers/net/sfc/selftest.c
index c79ddcec099..8ad517c6194 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;
}