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 */