Hello.

On 07-05-2013 13:49, Sebastian Hesselbarth wrote:

of_mdiobus_register creates a phy_device even if get_phy_device failed
to create it previously. This causes indefinite polling on non-existent
PHYs. This fix makes of_mdio_register rely on get_phy_device to
properly create the device or fail otherwise.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselba...@gmail.com>
---
Cc: Grant Likely <grant.lik...@linaro.org>
Cc: Rob Herring <rob.herr...@calxeda.com>
Cc: David Miller <da...@davemloft.net>
Cc: devicetree-disc...@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Cc: net...@vger.kernel.org
---
  drivers/of/of_mdio.c |   11 ++++-------
  1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c
index 23049ae..d5a57a9 100644
--- a/drivers/of/of_mdio.c
+++ b/drivers/of/of_mdio.c
@@ -84,13 +84,10 @@ int of_mdiobus_register(struct mii_bus *mdio, struct 
device_node *np)
                phy = get_phy_device(mdio, addr, is_c45);


This empty line is not needed -- would be good to drop it, while at this.

                if (!phy || IS_ERR(phy)) {
-                       phy = phy_device_create(mdio, addr, 0, false, NULL);
-                       if (!phy || IS_ERR(phy)) {
-                               dev_err(&mdio->dev,
-                                       "error creating PHY at address %i\n",
-                                       addr);
-                               continue;
-                       }
+                       dev_err(&mdio->dev,
+                               "cannot get PHY at address %i\n",
+                               addr);
+                       continue;
                }

                /* Associate the OF node with the device structure so it


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to