From df8481872cf393207aa64a0c9e62f54b972bd30b Mon Sep 17 00:00:00 2001 From: Steve Hodgson Date: Sat, 28 Nov 2009 05:34:29 +0000 Subject: [PATCH] --- yaml --- r: 171965 b: refs/heads/master c: 47c3d19f60da7cc018781744b1ffb3b557373e7f h: refs/heads/master i: 171963: d3147f7bdfb183a9c3e1fcfaa8b2b7ef743b8653 v: v3 --- [refs] | 2 +- trunk/drivers/net/sfc/qt202x_phy.c | 22 ++++++++-------------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/[refs] b/[refs] index 25404f62b5cf..3b053c102207 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fdaa9aed21c8c8b529f3c94a5ffa138bf3360b75 +refs/heads/master: 47c3d19f60da7cc018781744b1ffb3b557373e7f diff --git a/trunk/drivers/net/sfc/qt202x_phy.c b/trunk/drivers/net/sfc/qt202x_phy.c index 1b174c3e6c12..3d7370e39787 100644 --- a/trunk/drivers/net/sfc/qt202x_phy.c +++ b/trunk/drivers/net/sfc/qt202x_phy.c @@ -138,33 +138,27 @@ static int qt202x_reset_phy(struct efx_nic *efx) static int qt202x_phy_init(struct efx_nic *efx) { struct qt202x_phy_data *phy_data; - u32 devid = efx_mdio_read_id(efx, MDIO_MMD_PHYXS); + u32 devid; int rc; + rc = qt202x_reset_phy(efx); + if (rc) { + EFX_ERR(efx, "PHY init failed\n"); + return rc; + } + phy_data = kzalloc(sizeof(struct qt202x_phy_data), GFP_KERNEL); if (!phy_data) return -ENOMEM; efx->phy_data = phy_data; + devid = efx_mdio_read_id(efx, MDIO_MMD_PHYXS); EFX_INFO(efx, "PHY ID reg %x (OUI %06x model %02x revision %x)\n", devid, efx_mdio_id_oui(devid), efx_mdio_id_model(devid), efx_mdio_id_rev(devid)); phy_data->phy_mode = efx->phy_mode; - - rc = qt202x_reset_phy(efx); - - EFX_INFO(efx, "PHY init %s.\n", - rc ? "failed" : "successful"); - if (rc < 0) - goto fail; - return 0; - - fail: - kfree(efx->phy_data); - efx->phy_data = NULL; - return rc; } static int qt202x_link_ok(struct efx_nic *efx)