Module Name:    src
Committed By:   msaitoh
Date:           Wed Apr 12 05:50:52 UTC 2017

Modified Files:
        src/sys/dev/pci: if_bge.c if_bgevar.h

Log Message:
 Detach sysctl and event counters in bge_release_resources().


To generate a diff of this commit:
cvs rdiff -u -r1.300 -r1.301 src/sys/dev/pci/if_bge.c
cvs rdiff -u -r1.21 -r1.22 src/sys/dev/pci/if_bgevar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/if_bge.c
diff -u src/sys/dev/pci/if_bge.c:1.300 src/sys/dev/pci/if_bge.c:1.301
--- src/sys/dev/pci/if_bge.c:1.300	Thu Dec 15 09:28:05 2016
+++ src/sys/dev/pci/if_bge.c	Wed Apr 12 05:50:52 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_bge.c,v 1.300 2016/12/15 09:28:05 ozaki-r Exp $	*/
+/*	$NetBSD: if_bge.c,v 1.301 2017/04/12 05:50:52 msaitoh Exp $	*/
 
 /*
  * Copyright (c) 2001 Wind River Systems
@@ -79,7 +79,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.300 2016/12/15 09:28:05 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.301 2017/04/12 05:50:52 msaitoh Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -4134,6 +4134,23 @@ static void
 bge_release_resources(struct bge_softc *sc)
 {
 
+	/* Detach sysctl */
+	if (sc->bge_log != NULL)
+		sysctl_teardown(&sc->bge_log);
+
+#ifdef BGE_EVENT_COUNTERS
+	/* Detach event counters. */
+	evcnt_detach(&sc->bge_ev_intr);
+	evcnt_detach(&sc->bge_ev_intr_spurious);
+	evcnt_detach(&sc->bge_ev_intr_spurious2);
+	evcnt_detach(&sc->bge_ev_tx_xoff);
+	evcnt_detach(&sc->bge_ev_tx_xon);
+	evcnt_detach(&sc->bge_ev_rx_xoff);
+	evcnt_detach(&sc->bge_ev_rx_xon);
+	evcnt_detach(&sc->bge_ev_rx_macctl);
+	evcnt_detach(&sc->bge_ev_xoffentered);
+#endif /* BGE_EVENT_COUNTERS */
+
 	/* Disestablish the interrupt handler */
 	if (sc->bge_intrhand != NULL) {
 		pci_intr_disestablish(sc->sc_pc, sc->bge_intrhand);

Index: src/sys/dev/pci/if_bgevar.h
diff -u src/sys/dev/pci/if_bgevar.h:1.21 src/sys/dev/pci/if_bgevar.h:1.22
--- src/sys/dev/pci/if_bgevar.h:1.21	Wed Nov 18 10:26:57 2015
+++ src/sys/dev/pci/if_bgevar.h	Wed Apr 12 05:50:52 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_bgevar.h,v 1.21 2015/11/18 10:26:57 msaitoh Exp $	*/
+/*	$NetBSD: if_bgevar.h,v 1.22 2017/04/12 05:50:52 msaitoh Exp $	*/
 /*
  * Copyright (c) 2001 Wind River Systems
  * Copyright (c) 1997, 1998, 1999, 2001
@@ -326,6 +326,8 @@ struct bge_softc {
 	 * Event counters.
 	 */
 	struct evcnt bge_ev_intr;	/* interrupts */
+	struct evcnt bge_ev_intr_spurious;  /* spurious intr. (taged status) */
+	struct evcnt bge_ev_intr_spurious2; /* spurious interrupts */
 	struct evcnt bge_ev_tx_xoff;	/* send PAUSE(len>0) packets */
 	struct evcnt bge_ev_tx_xon;	/* send PAUSE(len=0) packets */
 	struct evcnt bge_ev_rx_xoff;	/* receive PAUSE(len>0) packets */

Reply via email to