[PATCH 1/1] net: phylib: add error checking if no phy found

Subsystems: ethernet phy library, networking drivers, the rest

STALE5292d

3 messages, 3 authors, 2012-03-21 · open the first message on its own page

[PATCH 1/1] net: phylib: add error checking if no phy found

From: Dong Aisheng <hidden>
Date: 2012-03-13 10:56:21

From: Dong Aisheng <redacted>

Signed-off-by: Dong Aisheng <redacted>
---
 drivers/net/phy/mdio_bus.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 88cc5db..d8e044d 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -101,6 +101,7 @@ static struct class mdio_bus_class = {
 int mdiobus_register(struct mii_bus *bus)
 {
 	int i, err;
+	u32 phynum = 0;
 
 	if (NULL == bus || NULL == bus->name ||
 			NULL == bus->read ||
@@ -134,12 +135,20 @@ int mdiobus_register(struct mii_bus *bus)
 			if (IS_ERR(phydev)) {
 				err = PTR_ERR(phydev);
 				goto error;
+			} else if (phydev != NULL) {
+				phynum++;
 			}
 		}
 	}
 
+	if (!phynum) {
+		err = -ENODEV;
+		printk(KERN_ERR "%s: no phys found\n", bus->name);
+		goto error;
+	}
+
 	bus->state = MDIOBUS_REGISTERED;
-	pr_info("%s: probed\n", bus->name);
+	pr_info("%s: %d phys probed\n", bus->name, phynum);
 	return 0;
 
 error:
-- 
1.7.0.4

Re: [PATCH 1/1] net: phylib: add error checking if no phy found

From: Florian Fainelli <florian@openwrt.org>
Date: 2012-03-13 14:34:36

Hi,

Le 03/13/12 11:58, Dong Aisheng a écrit :
quoted hunk
From: Dong Aisheng<redacted>

Signed-off-by: Dong Aisheng<redacted>
---
  drivers/net/phy/mdio_bus.c |   11 ++++++++++-
  1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 88cc5db..d8e044d 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -101,6 +101,7 @@ static struct class mdio_bus_class = {
  int mdiobus_register(struct mii_bus *bus)
  {
  	int i, err;
+	u32 phynum = 0;

  	if (NULL == bus || NULL == bus->name ||
  			NULL == bus->read ||
@@ -134,12 +135,20 @@ int mdiobus_register(struct mii_bus *bus)
  			if (IS_ERR(phydev)) {
  				err = PTR_ERR(phydev);
  				goto error;
+			} else if (phydev != NULL) {
+				phynum++;
  			}
  		}
  	}

+	if (!phynum) {
+		err = -ENODEV;
+		printk(KERN_ERR "%s: no phys found\n", bus->name);
+		goto error;
+	}
I am not sure if this is a good idea to change it, especially if:
- the MII bus probing is also done later (quite some drivers do this)
- if we want to attach a fixed PHY because we could not probe one at 
registration time
+
  	bus->state = MDIOBUS_REGISTERED;
-	pr_info("%s: probed\n", bus->name);
+	pr_info("%s: %d phys probed\n", bus->name, phynum);
  	return 0;

  error:

Re: [PATCH 1/1] net: phylib: add error checking if no phy found

From: Dong Aisheng <hidden>
Date: 2012-03-21 11:34:17

On Tue, Mar 13, 2012 at 10:33:35PM +0800, Florian Fainelli wrote:
Hi,

Le 03/13/12 11:58, Dong Aisheng a écrit :
quoted
From: Dong Aisheng<redacted>

Signed-off-by: Dong Aisheng<redacted>
---
  drivers/net/phy/mdio_bus.c |   11 ++++++++++-
  1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
index 88cc5db..d8e044d 100644
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
@@ -101,6 +101,7 @@ static struct class mdio_bus_class = {
  int mdiobus_register(struct mii_bus *bus)
  {
  	int i, err;
+	u32 phynum = 0;

  	if (NULL == bus || NULL == bus->name ||
  			NULL == bus->read ||
@@ -134,12 +135,20 @@ int mdiobus_register(struct mii_bus *bus)
  			if (IS_ERR(phydev)) {
  				err = PTR_ERR(phydev);
  				goto error;
+			} else if (phydev != NULL) {
+				phynum++;
  			}
  		}
  	}

+	if (!phynum) {
+		err = -ENODEV;
+		printk(KERN_ERR "%s: no phys found\n", bus->name);
+		goto error;
+	}
I am not sure if this is a good idea to change it, especially if:
- the MII bus probing is also done later (quite some drivers do this)
- if we want to attach a fixed PHY because we could not probe one at 
registration time
You're correct.
It seems keep it as before is the right solution right now.
Thanks for the info.

Regards
Dong Aisheng
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help