aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/phy
diff options
context:
space:
mode:
authorDavid Daney <david.daney@cavium.com>2011-09-30 07:51:22 -0400
committerDavid S. Miller <davem@davemloft.net>2011-09-30 18:54:08 -0400
commit6fe3264945ee63292cdfb27b6e95bc52c603bb09 (patch)
treea4bb44b76d6a96aa735b17e1375f4dfc0375ccc0 /drivers/net/phy
parent8e00f5fbb4ecbc3431fa686cba60cd76a62604af (diff)
netdev/phy: Use mdiobus_read() so that proper locks are taken.
Accesses to the mdio busses must be done with the mdio_lock to ensure proper operation. Conveniently we have the helper function mdiobus_read() to do that for us. Lets use it in get_phy_id() instead of accessing the bus without the lock held. Signed-off-by: David Daney <david.daney@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/phy')
-rw-r--r--drivers/net/phy/phy_device.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index ff109fe5af6..83a5a5afec6 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -213,7 +213,7 @@ int get_phy_id(struct mii_bus *bus, int addr, u32 *phy_id)
213 213
214 /* Grab the bits from PHYIR1, and put them 214 /* Grab the bits from PHYIR1, and put them
215 * in the upper half */ 215 * in the upper half */
216 phy_reg = bus->read(bus, addr, MII_PHYSID1); 216 phy_reg = mdiobus_read(bus, addr, MII_PHYSID1);
217 217
218 if (phy_reg < 0) 218 if (phy_reg < 0)
219 return -EIO; 219 return -EIO;
@@ -221,7 +221,7 @@ int get_phy_id(struct mii_bus *bus, int addr, u32 *phy_id)
221 *phy_id = (phy_reg & 0xffff) << 16; 221 *phy_id = (phy_reg & 0xffff) << 16;
222 222
223 /* Grab the bits from PHYIR2, and put them in the lower half */ 223 /* Grab the bits from PHYIR2, and put them in the lower half */
224 phy_reg = bus->read(bus, addr, MII_PHYSID2); 224 phy_reg = mdiobus_read(bus, addr, MII_PHYSID2);
225 225
226 if (phy_reg < 0) 226 if (phy_reg < 0)
227 return -EIO; 227 return -EIO;