Browse Source

net: fsl_pq_mdio: fix non tbi phy access

Since 952c5ca1 (fsl_pq_mdio: Clean up tbi address configuration) .probe returns
-EBUSY when the "tbi-phy" node is missing. Fix this.

Cc: Andy Fleming <afleming@freescale.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
Baruch Siach 13 years ago
parent
commit
c3e072f8a6
1 changed files with 6 additions and 6 deletions
  1. 6 6
      drivers/net/ethernet/freescale/fsl_pq_mdio.c

+ 6 - 6
drivers/net/ethernet/freescale/fsl_pq_mdio.c

@@ -356,16 +356,16 @@ static int fsl_pq_mdio_probe(struct platform_device *ofdev)
 
 
 		if (prop)
 		if (prop)
 			tbiaddr = *prop;
 			tbiaddr = *prop;
-	}
 
 
-	if (tbiaddr == -1) {
-		err = -EBUSY;
+		if (tbiaddr == -1) {
+			err = -EBUSY;
 
 
-		goto err_free_irqs;
+			goto err_free_irqs;
+		} else {
+			out_be32(tbipa, tbiaddr);
+		}
 	}
 	}
 
 
-	out_be32(tbipa, tbiaddr);
-
 	err = of_mdiobus_register(new_bus, np);
 	err = of_mdiobus_register(new_bus, np);
 	if (err) {
 	if (err) {
 		printk (KERN_ERR "%s: Cannot register as MDIO bus\n",
 		printk (KERN_ERR "%s: Cannot register as MDIO bus\n",