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