changeset 1462:be755fe5817e

Fail initialization if no link present.
author gthomas
date Wed, 07 Jan 2004 14:10:04 +0000
parents 244c4e8297c2
children b64897a76c8a
files packages/devs/eth/smsc/lan91cxx/current/ChangeLog packages/devs/eth/smsc/lan91cxx/current/src/if_lan91cxx.c
diffstat 2 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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 <ukindler@htwm.de>
+
+	* src/if_lan91cxx.c: Fail initialization if no link found.
+
 2004-01-06  Andrew Lunn  <andrew.lunn@ascom.ch>
 
         * cdl/smsc_lan91cxx_eth_drivers.cdl: 
--- 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);