Loading drivers/net/sfc/selftest.c +7 −12 Original line number Diff line number Diff line Loading @@ -564,8 +564,7 @@ efx_test_loopback(struct efx_tx_queue *tx_queue, return 0; } static int efx_test_loopbacks(struct efx_nic *efx, struct ethtool_cmd ecmd, struct efx_self_tests *tests, static int efx_test_loopbacks(struct efx_nic *efx, struct efx_self_tests *tests, unsigned int loopback_modes) { enum efx_loopback_mode mode; Loading Loading @@ -693,7 +692,7 @@ int efx_offline_test(struct efx_nic *efx, { enum efx_loopback_mode loopback_mode = efx->loopback_mode; int phy_mode = efx->phy_mode; struct ethtool_cmd ecmd, ecmd_test; struct ethtool_cmd ecmd; int rc, rc2 = 0; /* force the carrier state off so the kernel doesn't transmit during Loading Loading @@ -724,16 +723,12 @@ int efx_offline_test(struct efx_nic *efx, /* reset the chip to recover from the register test */ rc = falcon_reset_hw(efx, RESET_TYPE_ALL); /* Modify the saved ecmd so that when efx_reset_up() restores the phy * state, AN is disabled, and the phy is powered, and out of loopback */ memcpy(&ecmd_test, &ecmd, sizeof(ecmd_test)); if (ecmd_test.autoneg == AUTONEG_ENABLE) { ecmd_test.autoneg = AUTONEG_DISABLE; ecmd_test.duplex = DUPLEX_FULL; } /* Ensure that the phy is powered and out of loopback * for the bist and loopback tests */ efx->phy_mode &= ~PHY_MODE_LOW_POWER; efx->loopback_mode = LOOPBACK_NONE; rc = efx_reset_up(efx, &ecmd_test, rc == 0); rc = efx_reset_up(efx, &ecmd, rc == 0); if (rc) { EFX_ERR(efx, "Unable to recover from chip test\n"); efx_schedule_reset(efx, RESET_TYPE_DISABLE); Loading @@ -744,7 +739,7 @@ int efx_offline_test(struct efx_nic *efx, if (rc && !rc2) rc2 = rc; rc = efx_test_loopbacks(efx, ecmd_test, tests, loopback_modes); rc = efx_test_loopbacks(efx, tests, loopback_modes); if (rc && !rc2) rc2 = rc; Loading Loading
drivers/net/sfc/selftest.c +7 −12 Original line number Diff line number Diff line Loading @@ -564,8 +564,7 @@ efx_test_loopback(struct efx_tx_queue *tx_queue, return 0; } static int efx_test_loopbacks(struct efx_nic *efx, struct ethtool_cmd ecmd, struct efx_self_tests *tests, static int efx_test_loopbacks(struct efx_nic *efx, struct efx_self_tests *tests, unsigned int loopback_modes) { enum efx_loopback_mode mode; Loading Loading @@ -693,7 +692,7 @@ int efx_offline_test(struct efx_nic *efx, { enum efx_loopback_mode loopback_mode = efx->loopback_mode; int phy_mode = efx->phy_mode; struct ethtool_cmd ecmd, ecmd_test; struct ethtool_cmd ecmd; int rc, rc2 = 0; /* force the carrier state off so the kernel doesn't transmit during Loading Loading @@ -724,16 +723,12 @@ int efx_offline_test(struct efx_nic *efx, /* reset the chip to recover from the register test */ rc = falcon_reset_hw(efx, RESET_TYPE_ALL); /* Modify the saved ecmd so that when efx_reset_up() restores the phy * state, AN is disabled, and the phy is powered, and out of loopback */ memcpy(&ecmd_test, &ecmd, sizeof(ecmd_test)); if (ecmd_test.autoneg == AUTONEG_ENABLE) { ecmd_test.autoneg = AUTONEG_DISABLE; ecmd_test.duplex = DUPLEX_FULL; } /* Ensure that the phy is powered and out of loopback * for the bist and loopback tests */ efx->phy_mode &= ~PHY_MODE_LOW_POWER; efx->loopback_mode = LOOPBACK_NONE; rc = efx_reset_up(efx, &ecmd_test, rc == 0); rc = efx_reset_up(efx, &ecmd, rc == 0); if (rc) { EFX_ERR(efx, "Unable to recover from chip test\n"); efx_schedule_reset(efx, RESET_TYPE_DISABLE); Loading @@ -744,7 +739,7 @@ int efx_offline_test(struct efx_nic *efx, if (rc && !rc2) rc2 = rc; rc = efx_test_loopbacks(efx, ecmd_test, tests, loopback_modes); rc = efx_test_loopbacks(efx, tests, loopback_modes); if (rc && !rc2) rc2 = rc; Loading