Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92ed2eb7 authored by Andrew Lunn's avatar Andrew Lunn Committed by David S. Miller
Browse files

net: phy: probe the PHY before determining the supported features



We will soon support asking the PHY at runtime to determine what
features it supports, rather than forcing it to be compile time.
But we should probe the PHY first. So probe the phy driver earlier.

Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 50684da7
Loading
Loading
Loading
Loading
+13 −11
Original line number Diff line number Diff line
@@ -2220,6 +2220,18 @@ static int phy_probe(struct device *dev)

	mutex_lock(&phydev->lock);

	if (phydev->drv->probe) {
		/* Deassert the reset signal */
		phy_device_reset(phydev, 0);

		err = phydev->drv->probe(phydev);
		if (err) {
			/* Assert the reset signal */
			phy_device_reset(phydev, 1);
			goto out;
		}
	}

	/* Start out supporting everything. Eventually,
	 * a controller will attach, and may modify one
	 * or both of these values
@@ -2267,17 +2279,7 @@ static int phy_probe(struct device *dev)
	/* Set the state to READY by default */
	phydev->state = PHY_READY;

	if (phydev->drv->probe) {
		/* Deassert the reset signal */
		phy_device_reset(phydev, 0);

		err = phydev->drv->probe(phydev);
		if (err) {
			/* Assert the reset signal */
			phy_device_reset(phydev, 1);
		}
	}

out:
	mutex_unlock(&phydev->lock);

	return err;