Message ID | 1263416353.2797.22.camel@achroite.uk.solarflarecom.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Ben Hutchings <bhutchings@solarflare.com> Date: Wed, 13 Jan 2010 20:59:13 +0000 > The MDIO self-test should not be run on boards without an MDIO PHY, > such as SFN5122F-R3 and later revisions. It should also not try to > address a specific MMD in an MDIO clause 22 PHY. Check the > mode_support field to decide which mode to use, if any. > > Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/sfc/selftest.c b/drivers/net/sfc/selftest.c index af39335..250c882 100644 --- a/drivers/net/sfc/selftest.c +++ b/drivers/net/sfc/selftest.c @@ -79,10 +79,14 @@ struct efx_loopback_state { static int efx_test_mdio(struct efx_nic *efx, struct efx_self_tests *tests) { int rc = 0; - int devad = __ffs(efx->mdio.mmds); + int devad; u16 physid1, physid2; - if (efx->phy_type == PHY_TYPE_NONE) + if (efx->mdio.mode_support & MDIO_SUPPORTS_C45) + devad = __ffs(efx->mdio.mmds); + else if (efx->mdio.mode_support & MDIO_SUPPORTS_C22) + devad = MDIO_DEVAD_NONE; + else return 0; mutex_lock(&efx->mac_lock);
The MDIO self-test should not be run on boards without an MDIO PHY, such as SFN5122F-R3 and later revisions. It should also not try to address a specific MMD in an MDIO clause 22 PHY. Check the mode_support field to decide which mode to use, if any. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> --- drivers/net/sfc/selftest.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)