net: avoid eth_unregister() call when function is unavailable
authorBernhard Nortmann <bernhard.nortmann@web.de>
Mon, 14 Sep 2015 13:29:45 +0000 (15:29 +0200)
committerJoe Hershberger <joe.hershberger@ni.com>
Wed, 30 Sep 2015 02:54:45 +0000 (21:54 -0500)
CONFIG_NETCONSOLE causes common/bootm.c to call eth_unregister()
for network device shutdown. However, with CONFIG_DM_ETH this
function is no longer defined.

This is a workaround to avoid the call in that case, and solely
rely on eth_halt(). In case this is insufficient, a proper way
to unregister / remove network devices needs to be implemented.

Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
common/bootm.c

index 667c93471be5fdb8984c5f6da5a0e033e70de1b5..c0d0d09411f0df2886db4fcec75a11ffae6ca23a 100644 (file)
@@ -474,7 +474,9 @@ ulong bootm_disable_interrupts(void)
 #ifdef CONFIG_NETCONSOLE
        /* Stop the ethernet stack if NetConsole could have left it up */
        eth_halt();
+# ifndef CONFIG_DM_ETH
        eth_unregister(eth_get_dev());
+# endif
 #endif
 
 #if defined(CONFIG_CMD_USB)