Sfoglia il codice sorgente

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>
David Daney 13 anni fa
parent
commit
6fe3264945
1 ha cambiato i file con 2 aggiunte e 2 eliminazioni
  1. 2 2
      drivers/net/phy/phy_device.c

+ 2 - 2
drivers/net/phy/phy_device.c

@@ -213,7 +213,7 @@ int get_phy_id(struct mii_bus *bus, int addr, u32 *phy_id)
 
 
 	/* Grab the bits from PHYIR1, and put them
 	/* Grab the bits from PHYIR1, and put them
 	 * in the upper half */
 	 * in the upper half */
-	phy_reg = bus->read(bus, addr, MII_PHYSID1);
+	phy_reg = mdiobus_read(bus, addr, MII_PHYSID1);
 
 
 	if (phy_reg < 0)
 	if (phy_reg < 0)
 		return -EIO;
 		return -EIO;
@@ -221,7 +221,7 @@ int get_phy_id(struct mii_bus *bus, int addr, u32 *phy_id)
 	*phy_id = (phy_reg & 0xffff) << 16;
 	*phy_id = (phy_reg & 0xffff) << 16;
 
 
 	/* Grab the bits from PHYIR2, and put them in the lower half */
 	/* Grab the bits from PHYIR2, and put them in the lower half */
-	phy_reg = bus->read(bus, addr, MII_PHYSID2);
+	phy_reg = mdiobus_read(bus, addr, MII_PHYSID2);
 
 
 	if (phy_reg < 0)
 	if (phy_reg < 0)
 		return -EIO;
 		return -EIO;