summaryrefslogtreecommitdiff
path: root/drivers/net/cxgb3/t3_hw.c
diff options
context:
space:
mode:
authorDivy Le Ray <divy@chelsio.com>2008-10-09 04:38:01 +0400
committerDavid S. Miller <davem@davemloft.net>2008-10-09 04:38:01 +0400
commit78e4689e908adc8334272756c32c9218d1967408 (patch)
tree7fdc979df5345b3b45ab2d5c46467ad3415800c1 /drivers/net/cxgb3/t3_hw.c
parent8c26376112fb4b8dfea42069b602c03d53366052 (diff)
downloadlinux-78e4689e908adc8334272756c32c9218d1967408.tar.xz
cxgb3: allow for PHY reset status
First step towards overall PHY layering re-organization. Allow a status return when a PHY is reset. Signed-off-by: Divy Le Ray <divy@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb3/t3_hw.c')
-rw-r--r--drivers/net/cxgb3/t3_hw.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/drivers/net/cxgb3/t3_hw.c b/drivers/net/cxgb3/t3_hw.c
index 33470c79ac1c..fa0a4b4fb5cb 100644
--- a/drivers/net/cxgb3/t3_hw.c
+++ b/drivers/net/cxgb3/t3_hw.c
@@ -3626,8 +3626,11 @@ int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai,
++j;
p->port_type = &port_types[adapter->params.vpd.port_type[j]];
- p->port_type->phy_prep(&p->phy, adapter, ai->phy_base_addr + j,
- ai->mdio_ops);
+ ret = p->port_type->phy_prep(&p->phy, adapter,
+ ai->phy_base_addr + j,
+ ai->mdio_ops);
+ if (ret)
+ return ret;
mac_prep(&p->mac, adapter, j);
++j;
@@ -3674,9 +3677,11 @@ int t3_replay_prep_adapter(struct adapter *adapter)
while (!adapter->params.vpd.port_type[j])
++j;
- p->port_type->phy_prep(&p->phy, adapter, ai->phy_base_addr + j,
- ai->mdio_ops);
-
+ ret = p->port_type->phy_prep(&p->phy, adapter,
+ ai->phy_base_addr + j,
+ ai->mdio_ops);
+ if (ret)
+ return ret;
p->phy.ops->power_down(&p->phy, 1);
++j;
}