# HG changeset patch # User gthomas # Date 1073484604 0 # Node ID be755fe5817ed50a978921a754f20b59e2256926 # Parent 244c4e8297c2803998d16f91c1faf69501f67a63 Fail initialization if no link present. diff --git a/packages/devs/eth/smsc/lan91cxx/current/ChangeLog b/packages/devs/eth/smsc/lan91cxx/current/ChangeLog --- a/packages/devs/eth/smsc/lan91cxx/current/ChangeLog +++ b/packages/devs/eth/smsc/lan91cxx/current/ChangeLog @@ -1,3 +1,7 @@ +2004-01-07 Uwe Kindler + + * src/if_lan91cxx.c: Fail initialization if no link found. + 2004-01-06 Andrew Lunn * cdl/smsc_lan91cxx_eth_drivers.cdl: diff --git a/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c b/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c --- a/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c +++ b/packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c @@ -331,6 +331,15 @@ smsc_lan91cxx_init(struct cyg_netdevtab_ put_reg(sc, LAN91CXX_RCR, 0); val = get_reg(sc, LAN91CXX_EPH_STATUS); +#ifndef LAN91CXX_IS_LAN91C111 + // LINK_OK on 91C111 is just a general purpose input and may not + // have anything to do with the link. + if (!(val & LAN91CXX_STATUS_LINK_OK)) { + db_printf("no link\n"); + return false; // Link not connected + } +#endif + #if DEBUG & 9 db_printf("LAN91CXX - status: %04x\n", val);