diff options
author | Michael Walle <michael@walle.cc> | 2019-10-22 01:03:10 +0200 |
---|---|---|
committer | Joe Hershberger <joe.hershberger@ni.com> | 2019-12-09 09:47:42 -0600 |
commit | 19820db0bd97fd4e202019594abe9a9604aa5534 (patch) | |
tree | 9fd6f74176d75e2f643677360e94197d2d00fbfa /net | |
parent | bf58916373f0a94aaf0aca5ee67bb18d5928fa0e (diff) |
net: eth-uclass: ignore unavailable devices
device_probe() may fail in which case the seq_id will be -1. Don't
display these devices during startup. While this is only a cosmetic
change, the return value of eth_initialize() will also change to the
actual number of available devices. The return value is only used in
spl_net to decide whether there are any devices to boot from. So
returning only available devices is also more correct in that case.
Signed-off-by: Michael Walle <michael@walle.cc>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/eth-uclass.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/net/eth-uclass.c b/net/eth-uclass.c index 9fe4096120..ed81cbd537 100644 --- a/net/eth-uclass.c +++ b/net/eth-uclass.c @@ -420,20 +420,25 @@ int eth_initialize(void) bootstage_mark(BOOTSTAGE_ID_NET_ETH_INIT); do { - if (num_devices) - printf(", "); + if (dev->seq != -1) { + if (num_devices) + printf(", "); - printf("eth%d: %s", dev->seq, dev->name); + printf("eth%d: %s", dev->seq, dev->name); - if (ethprime && dev == prime_dev) - printf(" [PRIME]"); + if (ethprime && dev == prime_dev) + printf(" [PRIME]"); + } eth_write_hwaddr(dev); + if (dev->seq != -1) + num_devices++; uclass_next_device_check(&dev); - num_devices++; } while (dev); + if (!num_devices) + printf("No ethernet found.\n"); putc('\n'); } |