diff options
-rw-r--r-- | drivers/net/smc911x.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index 5d51406..d674ce2 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c @@ -270,6 +270,12 @@ int smc911x_initialize(u8 dev_num, int base_addr) dev->recv = smc911x_rx; sprintf(dev->name, "%s-%hu", DRIVERNAME, dev_num); + /* Try to detect chip. Will fail if not present. */ + if (smc911x_detect_chip(dev)) { + free(dev); + return 0; + } + eth_register(dev); return 1; } |