diff options
| author | Stefan Roese <sr@denx.de> | 2011-07-12 13:26:47 +0200 | 
|---|---|---|
| committer | Stefan Roese <sr@denx.de> | 2011-07-28 19:16:16 +0200 | 
| commit | 3ce04d9bba017012751cbecf25b923bcb02ccb54 (patch) | |
| tree | dce33217944fbf9337d3c140e772dafef191e056 /drivers/net/4xx_enet.c | |
| parent | 3857f8f5a5a029a2ff403f83e7b9987cfdb09569 (diff) | |
| download | olio-uboot-2014.01-3ce04d9bba017012751cbecf25b923bcb02ccb54.tar.xz olio-uboot-2014.01-3ce04d9bba017012751cbecf25b923bcb02ccb54.zip | |
net/4xx: Install interrupt handler after driver registration
Only install der 4xx-EMAC interrupt handlers *after* the core
network driver is registered.
This problem was noticed on the APM Taishan 440GX board, where
the board hung upon bootup after displaying "Net:".
Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'drivers/net/4xx_enet.c')
| -rw-r--r-- | drivers/net/4xx_enet.c | 14 | 
1 files changed, 7 insertions, 7 deletions
| diff --git a/drivers/net/4xx_enet.c b/drivers/net/4xx_enet.c index b1763b18b..f328574fe 100644 --- a/drivers/net/4xx_enet.c +++ b/drivers/net/4xx_enet.c @@ -2035,6 +2035,13 @@ int ppc_4xx_eth_initialize (bd_t * bis)  		dev->send = ppc_4xx_eth_send;  		dev->recv = ppc_4xx_eth_rx; +		eth_register(dev); + +#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) +		miiphy_register(dev->name, +				emac4xx_miiphy_read, emac4xx_miiphy_write); +#endif +  		if (0 == virgin) {  			/* set the MAL IER ??? names may change with new spec ??? */  #if defined(CONFIG_440SPE) || \ @@ -2072,13 +2079,6 @@ int ppc_4xx_eth_initialize (bd_t * bis)  					     dev);  			virgin = 1;  		} - -		eth_register (dev); - -#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) -		miiphy_register (dev->name, -				 emac4xx_miiphy_read, emac4xx_miiphy_write); -#endif  	}			/* end for each supported device */  	return 0; |