Ignore:
Timestamp:
2009-02-12T15:06:58+01:00 (8 years ago)
Author:
juhosg
Message:

[ar71xx] pull ethernet mac out of reset before registering the mdio_bus

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/patches-2.6.28/802-ag71xx_mdio_dynamic_mdio_bus.patch

    r14426 r14486  
    3434                } 
    3535                udelay(AG71XX_MDIO_DELAY); 
    36 @@ -154,23 +154,27 @@ static int __init ag71xx_mdio_probe(stru 
     36@@ -154,27 +154,33 @@ static int __init ag71xx_mdio_probe(stru 
    3737                goto err_free_mdio; 
    3838        } 
     
    4747-       snprintf(am->mii_bus.id, MII_BUS_ID_SIZE, "%x", 0); 
    4848+       am->mii_bus = mdiobus_alloc(); 
    49 +       if (am->mii_bus == NULL) 
     49+       if (am->mii_bus == NULL) { 
     50+               err = -NOMEM; 
    5051+               goto err_iounmap; 
     52+       } 
    5153+ 
    5254+       am->mii_bus->name = "ag71xx_mdio"; 
     
    6769                am->mii_irq[i] = PHY_POLL; 
    6870  
     71        ag71xx_mdio_wr(am, AG71XX_REG_MAC_CFG1, 0); 
     72  
    6973-       err = mdiobus_register(&am->mii_bus); 
    7074+       err = mdiobus_register(am->mii_bus); 
    7175        if (err) 
    72                 goto err_iounmap; 
     76-               goto err_iounmap; 
     77+               goto err_free_bus; 
    7378  
    74 @@ -194,7 +198,8 @@ static int __exit ag71xx_mdio_remove(str 
     79        ag71xx_mdio_dump_regs(am); 
     80  
     81@@ -182,6 +188,8 @@ static int __init ag71xx_mdio_probe(stru 
     82        ag71xx_mdio_bus = am; 
     83        return 0; 
     84  
     85+ err_free_bus: 
     86+       mdiobus_free(am->mii_bus); 
     87  err_iounmap: 
     88        iounmap(am->mdio_base); 
     89  err_free_mdio: 
     90@@ -196,7 +204,8 @@ static int __exit ag71xx_mdio_remove(str 
    7591  
    7692        if (am) { 
Note: See TracChangeset for help on using the changeset viewer.