summaryrefslogtreecommitdiff
path: root/common/cmd_bootm.c
diff options
context:
space:
mode:
authorFrederic Leroy <fredo@starox.org>2013-09-10 12:02:31 +0200
committerTom Rini <trini@ti.com>2013-09-20 10:30:53 -0400
commit8094972d594d883e3e556751f67ff5cdd8a286c5 (patch)
tree31128f482b75638029a8ddf6980621c4d4a9ff6b /common/cmd_bootm.c
parent1f8b546f9e782b7eb9815368efa906b5718c6e9b (diff)
downloadu-boot-8094972d594d883e3e556751f67ff5cdd8a286c5.tar.gz
u-boot-8094972d594d883e3e556751f67ff5cdd8a286c5.tar.bz2
u-boot-8094972d594d883e3e556751f67ff5cdd8a286c5.zip
Fix loading freeze when netconsole is active
Netconsole calls eth_halt() before giving control to another operating system. But the state machine of netconsole don't take it into account. Thus, netconsole calls network functions of an halted network device, making the whole system freeze. Rather than modifying the state machine of netconsole, we just unregister the current network device before booting. It does work because nc_send_packet() verifies that the current network device is not null. Signed-off-by: Frédéric Leroy <fredo@starox.org>
Diffstat (limited to 'common/cmd_bootm.c')
-rw-r--r--common/cmd_bootm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 16d08f3524..349f1658bd 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -558,6 +558,7 @@ static ulong bootm_disable_interrupts(void)
#ifdef CONFIG_NETCONSOLE
/* Stop the ethernet stack if NetConsole could have left it up */
eth_halt();
+ eth_unregister(eth_get_dev());
#endif
#if defined(CONFIG_CMD_USB)