diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2008-09-01 12:46:28 +0100 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-09-03 09:53:43 -0400 |
commit | f8ea0b6743f00180ee3260d82f383a02a4dd9a78 (patch) | |
tree | e1759a6ce270c0bf96c36f48938156d0116a5d0c /drivers/net/sfc | |
parent | e9713e6f4eb55a73c39a72fb8067fd053cdf8e95 (diff) | |
download | op-kernel-dev-f8ea0b6743f00180ee3260d82f383a02a4dd9a78.zip op-kernel-dev-f8ea0b6743f00180ee3260d82f383a02a4dd9a78.tar.gz |
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.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; } |