Detach sysctl and event counters in bge_release_resources().

This commit is contained in:
msaitoh 2017-04-12 05:50:52 +00:00
parent c053c2614b
commit 56d0e2153c
2 changed files with 22 additions and 3 deletions

View File

@ -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);

View File

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