Do not call txeof nor rxeof in the watchdog routine.
authormpi <mpi@openbsd.org>
Mon, 19 Jun 2017 09:36:27 +0000 (09:36 +0000)
committermpi <mpi@openbsd.org>
Mon, 19 Jun 2017 09:36:27 +0000 (09:36 +0000)
They cannot be serialized with the interrupt routine and are
useless because the driver is reinitialized right after.

Pointed by and ok mikeb@

sys/dev/ic/re.c

index 3af8865..09ba01c 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: re.c,v 1.201 2017/01/24 03:57:34 dlg Exp $    */
+/*     $OpenBSD: re.c,v 1.202 2017/06/19 09:36:27 mpi Exp $    */
 /*     $FreeBSD: if_re.c,v 1.31 2004/09/04 07:54:05 ru Exp $   */
 /*
  * Copyright (c) 1997, 1998-2003
@@ -2074,9 +2074,6 @@ re_watchdog(struct ifnet *ifp)
        s = splnet();
        printf("%s: watchdog timeout\n", sc->sc_dev.dv_xname);
 
-       re_txeof(sc);
-       re_rxeof(sc);
-
        re_init(ifp);
 
        splx(s);