net: fsl_pq_mdio: fix non tbi phy access
authorBaruch Siach <baruch@tkos.co.il>
Mon, 14 Nov 2011 06:21:30 +0000 (08:21 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Nov 2011 06:44:55 +0000 (01:44 -0500)
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>
drivers/net/ethernet/freescale/fsl_pq_mdio.c

index 4d9f84b..8dee1ae 100644 (file)
@@ -356,16 +356,16 @@ static int fsl_pq_mdio_probe(struct platform_device *ofdev)
 
                if (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);
        if (err) {
                printk (KERN_ERR "%s: Cannot register as MDIO bus\n",