If using an usb ethernet interface and starting usb is forgot, any attempt to use ethernet will try to init networking and dereference eth_get_dev() to null.
This patch adds a check and aborts in case of a null pointer. --- net/net.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/net/net.c b/net/net.c index 82c4cc9..1301e6b 100644 --- a/net/net.c +++ b/net/net.c @@ -313,6 +313,17 @@ int NetLoop(enum proto_t protocol) NetTryCount = 1; debug_cond(DEBUG_INT_STATE, "--- NetLoop Entry\n"); + /* If we do not check, initialisation will dereference NULL */ + if (!eth_get_dev()) + { +#ifdef CONFIG_USB_HOST_ETHER + printf("Ethernet not available. Have you run \"usb start\" already?\n"); +#else + printf("Ethernet not available.\n"); +#endif + return -1; + } + bootstage_mark_name(BOOTSTAGE_ID_ETH_START, "eth_start"); net_init(); if (eth_is_on_demand_init() || protocol != NETCONS) { -- 1.8.0 -- _____________________________________________________________ R-S-I Elektrotechnik GmbH & Co. KG Woelkestrasse 11 D-85301 Schweitenkirchen Fon: +49 8444 9204-0 Fax: +49 8444 9204-50 www.rsi-elektrotechnik.de _____________________________________________________________ Amtsgericht Ingolstadt - GmbH: HRB 191328 - KG: HRA 170363 Geschäftsführer: Dr.-Ing. Michael Sorg, Dipl.-Ing. Franz Sorg USt-IdNr.: DE 128592548
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot