[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-bugs
Subject:    kern/980: Lance device timeout causes panic [patch]
From:       smpatel () wam ! umd ! edu
Date:       1996-01-30 1:30:58
[Download RAW message or body]


>Number:         980
>Category:       kern
>Synopsis:       Lance device timeout causes panic [patch]
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 29 17:40:05 PST 1996
>Last-Modified:
>Originator:     Sujal Patel
>Organization:
>Release:        FreeBSD FreeBSD 2.2-CURRENT i386
>Environment:

2.2-CURRENT, if_lnc.c v1.19

>Description:

version 1.18 of if_lnc.c reversed davidg's changes in 1.15.  This causes
Lance timeouts to panic the system.

>How-To-Repeat:
>Fix:

--- if_lnc.c    Fri Jan 26 04:48:39 1996
+++ /xi2/smpatel/usr/src/sys-new/i386/isa/if_lnc.c      Sun Jan 28 23:27:20 1996
@@ -151,7 +151,7 @@
 static struct mbuf *chain_to_cluster __P((struct mbuf *m));
 static void lnc_start __P((struct ifnet *ifp));
 static int lnc_ioctl __P((struct ifnet *ifp, int command, caddr_t data));
-static void lnc_watchdog __P((int unit));
+static void lnc_watchdog __P((struct ifnet *ifp));
 #ifdef DEBUG
 static void lnc_dump_state __P((int unit));
 static void mbuf_dump_chain __P((struct mbuf *m));
@@ -1749,12 +1749,12 @@
 }
 
 static void
-lnc_watchdog(int unit)
+lnc_watchdog(ifp)
+        struct ifnet *ifp;
 {
-       struct lnc_softc *sc = &lnc_softc[unit];
-       log(LOG_ERR, "lnc%d: Device timeout -- Resetting\n", unit);
-       ++sc->arpcom.ac_if.if_oerrors;
-       lnc_reset(unit);
+       log(LOG_ERR, "lnc%d: Device timeout -- Resetting\n", ifp->if_unit);
+        ifp->if_oerrors++;
+       lnc_reset(ifp->if_unit);
 }
 
 #ifdef DEBUG

>Audit-Trail:
>Unformatted:

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic