Module Name:    src
Committed By:   martin
Date:           Sun Dec  7 15:09:32 UTC 2014

Modified Files:
        src/share/man/man9 [netbsd-6]: callout.9
        src/sys/arch/x86/pci [netbsd-6]: fwhrng.c
        src/sys/arch/x86/x86 [netbsd-6]: via_padlock.c
        src/sys/dev/bluetooth [netbsd-6]: bcsp.c btkbd.c
        src/sys/dev/ic [netbsd-6]: nslm7x.c
        src/sys/dev/ir [netbsd-6]: irframe_tty.c
        src/sys/dev/isa [netbsd-6]: aps.c
        src/sys/dev/pci [netbsd-6]: pccbb.c
        src/sys/dev/pcmcia [netbsd-6]: btbc.c
        src/sys/dev/sysmon [netbsd-6]: sysmon_envsys_events.c sysmonvar.h
        src/sys/dev/usb [netbsd-6]: ohci.c
        src/sys/dev/wscons [netbsd-6]: wskbd.c
        src/sys/kern [netbsd-6]: kern_ktrace.c
        src/sys/net [netbsd-6]: if_ecosubr.c

Log Message:
Pull up following revision(s) (requested by ozaki-r in ticket #1201):
        sys/kern/kern_ktrace.c: revision 1.166
        sys/dev/isa/aps.c: revision 1.16
        sys/dev/sysmon/sysmonvar.h: revision 1.45
        sys/dev/ir/irframe_tty.c: revision 1.60
        sys/dev/sysmon/sysmon_envsys_events.c: revision 1.111-1.112 (patch)
        sys/dev/pci/pccbb.c: revision 1.207
        sys/dev/wscons/wskbd.c: revision 1.135
        sys/dev/usb/ohci.c: revision 1.254
        sys/net/if_ecosubr.c: revision 1.41
        sys/dev/pcmcia/btbc.c: revision 1.17
        sys/arch/x86/x86/via_padlock.c: revision 1.23
        sys/dev/sdmmc/sdmmc.c: revision 1.23 (patch)
        sys/dev/bluetooth/btkbd.c: revision 1.17
        sys/dev/bluetooth/bcsp.c: revision 1.25
        sys/arch/x86/pci/fwhrng.c: revision 1.8
        sys/dev/ic/nslm7x.c: revision 1.61
        share/man/man9/callout.9: revision 1.28 (patch)

Replace callout_stop with callout_halt and ensure the callout
is not running before destroying it.


To generate a diff of this commit:
cvs rdiff -u -r1.25.10.1 -r1.25.10.2 src/share/man/man9/callout.9
cvs rdiff -u -r1.5 -r1.5.2.1 src/sys/arch/x86/pci/fwhrng.c
cvs rdiff -u -r1.21 -r1.21.2.1 src/sys/arch/x86/x86/via_padlock.c
cvs rdiff -u -r1.20.8.1 -r1.20.8.2 src/sys/dev/bluetooth/bcsp.c
cvs rdiff -u -r1.13.2.1 -r1.13.2.2 src/sys/dev/bluetooth/btkbd.c
cvs rdiff -u -r1.59 -r1.59.2.1 src/sys/dev/ic/nslm7x.c
cvs rdiff -u -r1.58 -r1.58.18.1 src/sys/dev/ir/irframe_tty.c
cvs rdiff -u -r1.14 -r1.14.10.1 src/sys/dev/isa/aps.c
cvs rdiff -u -r1.204 -r1.204.2.1 src/sys/dev/pci/pccbb.c
cvs rdiff -u -r1.15 -r1.15.16.1 src/sys/dev/pcmcia/btbc.c
cvs rdiff -u -r1.98.8.3 -r1.98.8.4 src/sys/dev/sysmon/sysmon_envsys_events.c
cvs rdiff -u -r1.41 -r1.41.8.1 src/sys/dev/sysmon/sysmonvar.h
cvs rdiff -u -r1.218.8.2 -r1.218.8.3 src/sys/dev/usb/ohci.c
cvs rdiff -u -r1.130 -r1.130.14.1 src/sys/dev/wscons/wskbd.c
cvs rdiff -u -r1.160 -r1.160.2.1 src/sys/kern/kern_ktrace.c
cvs rdiff -u -r1.36 -r1.36.4.1 src/sys/net/if_ecosubr.c

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

Modified files:

Index: src/share/man/man9/callout.9
diff -u src/share/man/man9/callout.9:1.25.10.1 src/share/man/man9/callout.9:1.25.10.2
--- src/share/man/man9/callout.9:1.25.10.1	Mon Sep 29 18:00:39 2014
+++ src/share/man/man9/callout.9	Sun Dec  7 15:09:32 2014
@@ -1,4 +1,4 @@
-.\"	$NetBSD: callout.9,v 1.25.10.1 2014/09/29 18:00:39 msaitoh Exp $
+.\"	$NetBSD: callout.9,v 1.25.10.2 2014/12/07 15:09:32 martin Exp $
 .\"
 .\" Copyright (c) 2000, 2003, 2009 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd August 3, 2009
+.Dd November 21, 2014
 .Dt CALLOUT 9
 .Os
 .Sh NAME
@@ -114,6 +114,13 @@ To ensure future compatibility,
 .Fn callout_destroy
 should always be called when the callout is no longer required (for instance,
 when a device is being detached).
+The callout should be stopped before
+.Fn callout_destroy
+is called by calling
+.Fn callout_halt .
+Note that
+.Fn callout_stop
+shouldn't be used for this purpose.
 .Pp
 The
 .Fn callout_reset

Index: src/sys/arch/x86/pci/fwhrng.c
diff -u src/sys/arch/x86/pci/fwhrng.c:1.5 src/sys/arch/x86/pci/fwhrng.c:1.5.2.1
--- src/sys/arch/x86/pci/fwhrng.c:1.5	Thu Feb  2 19:43:01 2012
+++ src/sys/arch/x86/pci/fwhrng.c	Sun Dec  7 15:09:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: fwhrng.c,v 1.5 2012/02/02 19:43:01 tls Exp $	*/
+/*	$NetBSD: fwhrng.c,v 1.5.2.1 2014/12/07 15:09:32 martin Exp $	*/
 
 /*
  * Copyright (c) 2000 Michael Shalayeff
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fwhrng.c,v 1.5 2012/02/02 19:43:01 tls Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fwhrng.c,v 1.5.2.1 2014/12/07 15:09:32 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -214,7 +214,7 @@ fwhrng_detach(device_t self, int flags)
 
 	rnd_detach_source(&sc->sc_rnd_source);
 
-	callout_stop(&sc->sc_rnd_ch);
+	callout_halt(&sc->sc_rnd_ch, NULL);
 	callout_destroy(&sc->sc_rnd_ch);
 
 	/* Disable the RNG. */

Index: src/sys/arch/x86/x86/via_padlock.c
diff -u src/sys/arch/x86/x86/via_padlock.c:1.21 src/sys/arch/x86/x86/via_padlock.c:1.21.2.1
--- src/sys/arch/x86/x86/via_padlock.c:1.21	Thu Feb  2 19:43:01 2012
+++ src/sys/arch/x86/x86/via_padlock.c	Sun Dec  7 15:09:32 2014
@@ -1,5 +1,5 @@
 /*	$OpenBSD: via.c,v 1.8 2006/11/17 07:47:56 tom Exp $	*/
-/*	$NetBSD: via_padlock.c,v 1.21 2012/02/02 19:43:01 tls Exp $ */
+/*	$NetBSD: via_padlock.c,v 1.21.2.1 2014/12/07 15:09:32 martin Exp $ */
 
 /*-
  * Copyright (c) 2003 Jason Wright
@@ -20,7 +20,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: via_padlock.c,v 1.21 2012/02/02 19:43:01 tls Exp $");
+__KERNEL_RCSID(0, "$NetBSD: via_padlock.c,v 1.21.2.1 2014/12/07 15:09:32 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -627,7 +627,7 @@ via_padlock_detach(device_t self, int fl
 	struct via_padlock_softc *sc = device_private(self);
 
 	if (sc->sc_rnd_attached) {
-		callout_stop(&sc->sc_rnd_co);
+		callout_halt(&sc->sc_rnd_co, NULL);
 		callout_destroy(&sc->sc_rnd_co);
 		rnd_detach_source(&sc->sc_rnd_source);
 		sc->sc_rnd_attached = false;

Index: src/sys/dev/bluetooth/bcsp.c
diff -u src/sys/dev/bluetooth/bcsp.c:1.20.8.1 src/sys/dev/bluetooth/bcsp.c:1.20.8.2
--- src/sys/dev/bluetooth/bcsp.c:1.20.8.1	Tue Jun 12 17:13:57 2012
+++ src/sys/dev/bluetooth/bcsp.c	Sun Dec  7 15:09:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: bcsp.c,v 1.20.8.1 2012/06/12 17:13:57 riz Exp $	*/
+/*	$NetBSD: bcsp.c,v 1.20.8.2 2014/12/07 15:09:32 martin Exp $	*/
 /*
  * Copyright (c) 2007 KIYOHARA Takashi
  * All rights reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcsp.c,v 1.20.8.1 2012/06/12 17:13:57 riz Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcsp.c,v 1.20.8.2 2014/12/07 15:09:32 martin Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -354,10 +354,10 @@ bcsp_detach(device_t self, int flags __u
 		sc->sc_unit = NULL;
 	}
 
-	callout_stop(&sc->sc_seq_timer);
+	callout_halt(&sc->sc_seq_timer, NULL);
 	callout_destroy(&sc->sc_seq_timer);
 
-	callout_stop(&sc->sc_le_timer);
+	callout_halt(&sc->sc_le_timer, NULL);
 	callout_destroy(&sc->sc_le_timer);
 
 	return 0;

Index: src/sys/dev/bluetooth/btkbd.c
diff -u src/sys/dev/bluetooth/btkbd.c:1.13.2.1 src/sys/dev/bluetooth/btkbd.c:1.13.2.2
--- src/sys/dev/bluetooth/btkbd.c:1.13.2.1	Tue Apr  3 17:31:19 2012
+++ src/sys/dev/bluetooth/btkbd.c	Sun Dec  7 15:09:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: btkbd.c,v 1.13.2.1 2012/04/03 17:31:19 riz Exp $	*/
+/*	$NetBSD: btkbd.c,v 1.13.2.2 2014/12/07 15:09:32 martin Exp $	*/
 
 /*
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: btkbd.c,v 1.13.2.1 2012/04/03 17:31:19 riz Exp $");
+__KERNEL_RCSID(0, "$NetBSD: btkbd.c,v 1.13.2.2 2014/12/07 15:09:32 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/callout.h>
@@ -251,8 +251,7 @@ btkbd_detach(device_t self, int flags)
 
 #ifdef WSDISPLAY_COMPAT_RAWKBD
 #ifdef BTKBD_REPEAT
-	callout_stop(&sc->sc_repeat);
-	KASSERT(!callout_invoking(&sc->sc_repeat));
+	callout_halt(&sc->sc_repeat, NULL);
 	callout_destroy(&sc->sc_repeat);
 #endif
 #endif

Index: src/sys/dev/ic/nslm7x.c
diff -u src/sys/dev/ic/nslm7x.c:1.59 src/sys/dev/ic/nslm7x.c:1.59.2.1
--- src/sys/dev/ic/nslm7x.c:1.59	Sat Jan 21 15:50:13 2012
+++ src/sys/dev/ic/nslm7x.c	Sun Dec  7 15:09:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: nslm7x.c,v 1.59 2012/01/21 15:50:13 jakllsch Exp $ */
+/*	$NetBSD: nslm7x.c,v 1.59.2.1 2014/12/07 15:09:32 martin Exp $ */
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nslm7x.c,v 1.59 2012/01/21 15:50:13 jakllsch Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nslm7x.c,v 1.59.2.1 2014/12/07 15:09:32 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1703,7 +1703,7 @@ lm_attach(struct lm_softc *lmsc)
 void
 lm_detach(struct lm_softc *lmsc)
 {
-	callout_stop(&lmsc->sc_callout);
+	callout_halt(&lmsc->sc_callout, NULL);
 	callout_destroy(&lmsc->sc_callout);
 	sysmon_envsys_unregister(lmsc->sc_sme);
 }

Index: src/sys/dev/ir/irframe_tty.c
diff -u src/sys/dev/ir/irframe_tty.c:1.58 src/sys/dev/ir/irframe_tty.c:1.58.18.1
--- src/sys/dev/ir/irframe_tty.c:1.58	Tue May 12 14:29:42 2009
+++ src/sys/dev/ir/irframe_tty.c	Sun Dec  7 15:09:31 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: irframe_tty.c,v 1.58 2009/05/12 14:29:42 cegger Exp $	*/
+/*	$NetBSD: irframe_tty.c,v 1.58.18.1 2014/12/07 15:09:31 martin Exp $	*/
 
 /*
  * TODO
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: irframe_tty.c,v 1.58 2009/05/12 14:29:42 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: irframe_tty.c,v 1.58.18.1 2014/12/07 15:09:31 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -245,7 +245,7 @@ irframet_detach(device_t dev, int flags)
 	struct irframet_softc *sc = device_private(dev);
 	int rc;
 
-	callout_stop(&sc->sc_timeout);
+	callout_halt(&sc->sc_timeout, NULL);
 
 	rc = irframe_detach(dev, flags);
 

Index: src/sys/dev/isa/aps.c
diff -u src/sys/dev/isa/aps.c:1.14 src/sys/dev/isa/aps.c:1.14.10.1
--- src/sys/dev/isa/aps.c:1.14	Wed Feb 16 10:08:05 2011
+++ src/sys/dev/isa/aps.c	Sun Dec  7 15:09:31 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: aps.c,v 1.14 2011/02/16 10:08:05 jruoho Exp $	*/
+/*	$NetBSD: aps.c,v 1.14.10.1 2014/12/07 15:09:31 martin Exp $	*/
 /*	$OpenBSD: aps.c,v 1.15 2007/05/19 19:14:11 tedu Exp $	*/
 /*	$OpenBSD: aps.c,v 1.17 2008/06/27 06:08:43 canacar Exp $	*/
 /*
@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: aps.c,v 1.14 2011/02/16 10:08:05 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: aps.c,v 1.14.10.1 2014/12/07 15:09:31 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -423,7 +423,7 @@ aps_detach(device_t self, int flags)
 {
 	struct aps_softc *sc = device_private(self);
 
-        callout_stop(&sc->sc_callout);
+        callout_halt(&sc->sc_callout, NULL);
         callout_destroy(&sc->sc_callout);
 
 	if (sc->sc_sme)

Index: src/sys/dev/pci/pccbb.c
diff -u src/sys/dev/pci/pccbb.c:1.204 src/sys/dev/pci/pccbb.c:1.204.2.1
--- src/sys/dev/pci/pccbb.c:1.204	Mon Jan 30 19:41:22 2012
+++ src/sys/dev/pci/pccbb.c	Sun Dec  7 15:09:31 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: pccbb.c,v 1.204 2012/01/30 19:41:22 drochner Exp $	*/
+/*	$NetBSD: pccbb.c,v 1.204.2.1 2014/12/07 15:09:31 martin Exp $	*/
 
 /*
  * Copyright (c) 1998, 1999 and 2000
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pccbb.c,v 1.204 2012/01/30 19:41:22 drochner Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pccbb.c,v 1.204.2.1 2014/12/07 15:09:31 martin Exp $");
 
 /*
 #define CBB_DEBUG
@@ -565,7 +565,7 @@ pccbbdetach(device_t self, int flags)
 	if (!TAILQ_EMPTY(&sc->sc_memwindow))
 		aprint_error_dev(self, "memory windows not empty");
 
-	callout_stop(&sc->sc_insert_ch);
+	callout_halt(&sc->sc_insert_ch, NULL);
 	callout_destroy(&sc->sc_insert_ch);
 
 	mutex_destroy(&sc->sc_pwr_mtx);

Index: src/sys/dev/pcmcia/btbc.c
diff -u src/sys/dev/pcmcia/btbc.c:1.15 src/sys/dev/pcmcia/btbc.c:1.15.16.1
--- src/sys/dev/pcmcia/btbc.c:1.15	Wed Feb 24 22:38:08 2010
+++ src/sys/dev/pcmcia/btbc.c	Sun Dec  7 15:09:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: btbc.c,v 1.15 2010/02/24 22:38:08 dyoung Exp $	*/
+/*	$NetBSD: btbc.c,v 1.15.16.1 2014/12/07 15:09:32 martin Exp $	*/
 /*
  * Copyright (c) 2007 KIYOHARA Takashi
  * All rights reserved.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: btbc.c,v 1.15 2010/02/24 22:38:08 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: btbc.c,v 1.15.16.1 2014/12/07 15:09:32 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/callout.h>
@@ -210,7 +210,7 @@ btbc_detach(device_t self, int flags)
 	pmf_device_deregister(self);
 	btbc_disable(sc->sc_dev);
 
-	callout_stop(&sc->sc_ledch);
+	callout_halt(&sc->sc_ledch, NULL);
 	callout_destroy(&sc->sc_ledch);
 
 	if (sc->sc_unit) {

Index: src/sys/dev/sysmon/sysmon_envsys_events.c
diff -u src/sys/dev/sysmon/sysmon_envsys_events.c:1.98.8.3 src/sys/dev/sysmon/sysmon_envsys_events.c:1.98.8.4
--- src/sys/dev/sysmon/sysmon_envsys_events.c:1.98.8.3	Fri Oct 19 17:28:01 2012
+++ src/sys/dev/sysmon/sysmon_envsys_events.c	Sun Dec  7 15:09:31 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: sysmon_envsys_events.c,v 1.98.8.3 2012/10/19 17:28:01 riz Exp $ */
+/* $NetBSD: sysmon_envsys_events.c,v 1.98.8.4 2014/12/07 15:09:31 martin Exp $ */
 
 /*-
  * Copyright (c) 2007, 2008 Juan Romero Pardines.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysmon_envsys_events.c,v 1.98.8.3 2012/10/19 17:28:01 riz Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysmon_envsys_events.c,v 1.98.8.4 2014/12/07 15:09:31 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -550,7 +550,6 @@ sme_events_init(struct sysmon_envsys *sm
 	if (error)
 		return error;
 
-	mutex_init(&sme->sme_callout_mtx, MUTEX_DEFAULT, IPL_SOFTCLOCK);
 	callout_init(&sme->sme_callout, CALLOUT_MPSAFE);
 	callout_setfunc(&sme->sme_callout, sme_events_check, sme);
 	sme->sme_flags |= SME_CALLOUT_INITIALIZED;
@@ -596,11 +595,16 @@ sme_events_destroy(struct sysmon_envsys 
 {
 	KASSERT(mutex_owned(&sme->sme_mtx));
 
-	callout_stop(&sme->sme_callout);
-	workqueue_destroy(sme->sme_wq);
-	mutex_destroy(&sme->sme_callout_mtx);
-	callout_destroy(&sme->sme_callout);
+	/*
+	 * Unset before callout_halt to ensure callout is not scheduled again
+	 * during callout_halt.
+	 */
 	sme->sme_flags &= ~SME_CALLOUT_INITIALIZED;
+
+	callout_halt(&sme->sme_callout, &sme->sme_mtx);
+	callout_destroy(&sme->sme_callout);
+
+	workqueue_destroy(sme->sme_wq);
 	DPRINTF(("%s: events framework destroyed for '%s'\n",
 	    __func__, sme->sme_name));
 }
@@ -693,7 +697,7 @@ sme_events_check(void *arg)
 
 	KASSERT(sme != NULL);
 
-	mutex_enter(&sme->sme_callout_mtx);
+	mutex_enter(&sme->sme_mtx);
 	LIST_FOREACH(see, &sme->sme_events_list, see_list) {
 		workqueue_enqueue(sme->sme_wq, &see->see_wk, NULL);
 		see->see_edata->flags |= ENVSYS_FNEED_REFRESH;
@@ -704,7 +708,7 @@ sme_events_check(void *arg)
 		timo = SME_EVTIMO;
 	if (!sysmon_low_power)
 		sme_schedule_callout(sme);
-	mutex_exit(&sme->sme_callout_mtx);
+	mutex_exit(&sme->sme_mtx);
 }
 
 /*

Index: src/sys/dev/sysmon/sysmonvar.h
diff -u src/sys/dev/sysmon/sysmonvar.h:1.41 src/sys/dev/sysmon/sysmonvar.h:1.41.8.1
--- src/sys/dev/sysmon/sysmonvar.h:1.41	Sat Jun  4 13:24:33 2011
+++ src/sys/dev/sysmon/sysmonvar.h	Sun Dec  7 15:09:31 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysmonvar.h,v 1.41 2011/06/04 13:24:33 pgoyette Exp $	*/
+/*	$NetBSD: sysmonvar.h,v 1.41.8.1 2014/12/07 15:09:31 martin Exp $	*/
 
 /*-
  * Copyright (c) 2000 Zembu Labs, Inc.
@@ -186,7 +186,6 @@ struct sysmon_envsys {
 	 * Locking/synchronization.
 	 */
 	kmutex_t sme_mtx;
-	kmutex_t sme_callout_mtx;
 	kcondvar_t sme_condvar;
 };
 

Index: src/sys/dev/usb/ohci.c
diff -u src/sys/dev/usb/ohci.c:1.218.8.2 src/sys/dev/usb/ohci.c:1.218.8.3
--- src/sys/dev/usb/ohci.c:1.218.8.2	Sat Apr 20 09:52:19 2013
+++ src/sys/dev/usb/ohci.c	Sun Dec  7 15:09:31 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: ohci.c,v 1.218.8.2 2013/04/20 09:52:19 bouyer Exp $	*/
+/*	$NetBSD: ohci.c,v 1.218.8.3 2014/12/07 15:09:31 martin Exp $	*/
 /*	$FreeBSD: src/sys/dev/usb/ohci.c,v 1.22 1999/11/17 22:33:40 n_hibma Exp $	*/
 
 /*
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ohci.c,v 1.218.8.2 2013/04/20 09:52:19 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ohci.c,v 1.218.8.3 2014/12/07 15:09:31 martin Exp $");
 
 #include "opt_usb.h"
 
@@ -363,7 +363,7 @@ ohci_detach(struct ohci_softc *sc, int f
 	if (rv != 0)
 		return (rv);
 
-	callout_stop(&sc->sc_tmo_rhsc);
+	callout_halt(&sc->sc_tmo_rhsc, NULL);
 
 	usb_delay_ms(&sc->sc_bus, 300); /* XXX let stray task complete */
 	callout_destroy(&sc->sc_tmo_rhsc);

Index: src/sys/dev/wscons/wskbd.c
diff -u src/sys/dev/wscons/wskbd.c:1.130 src/sys/dev/wscons/wskbd.c:1.130.14.1
--- src/sys/dev/wscons/wskbd.c:1.130	Tue Oct 26 05:12:34 2010
+++ src/sys/dev/wscons/wskbd.c	Sun Dec  7 15:09:31 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: wskbd.c,v 1.130 2010/10/26 05:12:34 jruoho Exp $ */
+/* $NetBSD: wskbd.c,v 1.130.14.1 2014/12/07 15:09:31 martin Exp $ */
 
 /*
  * Copyright (c) 1996, 1997 Christopher G. Demetriou.  All rights reserved.
@@ -105,7 +105,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wskbd.c,v 1.130 2010/10/26 05:12:34 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wskbd.c,v 1.130.14.1 2014/12/07 15:09:31 martin Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -618,7 +618,7 @@ wskbd_detach(device_t self, int flags)
 		wsmux_detach_sc(&sc->sc_base);
 #endif
 
-	callout_stop(&sc->sc_repeat_ch);
+	callout_halt(&sc->sc_repeat_ch, NULL);
 	callout_destroy(&sc->sc_repeat_ch);
 
 	if (sc->sc_isconsole) {

Index: src/sys/kern/kern_ktrace.c
diff -u src/sys/kern/kern_ktrace.c:1.160 src/sys/kern/kern_ktrace.c:1.160.2.1
--- src/sys/kern/kern_ktrace.c:1.160	Fri Dec 30 20:33:04 2011
+++ src/sys/kern/kern_ktrace.c	Sun Dec  7 15:09:31 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_ktrace.c,v 1.160 2011/12/30 20:33:04 christos Exp $	*/
+/*	$NetBSD: kern_ktrace.c,v 1.160.2.1 2014/12/07 15:09:31 martin Exp $	*/
 
 /*-
  * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_ktrace.c,v 1.160 2011/12/30 20:33:04 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_ktrace.c,v 1.160.2.1 2014/12/07 15:09:31 martin Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1532,6 +1532,9 @@ ktrace_thread(void *arg)
 	}
 
 	TAILQ_REMOVE(&ktdq, ktd, ktd_list);
+
+	callout_halt(&ktd->ktd_wakch, &ktrace_lock);
+	callout_destroy(&ktd->ktd_wakch);
 	mutex_exit(&ktrace_lock);
 
 	/*
@@ -1545,8 +1548,6 @@ ktrace_thread(void *arg)
 	cv_destroy(&ktd->ktd_sync_cv);
 	cv_destroy(&ktd->ktd_cv);
 
-	callout_stop(&ktd->ktd_wakch);
-	callout_destroy(&ktd->ktd_wakch);
 	kmem_free(ktd, sizeof(*ktd));
 
 	kthread_exit(0);

Index: src/sys/net/if_ecosubr.c
diff -u src/sys/net/if_ecosubr.c:1.36 src/sys/net/if_ecosubr.c:1.36.4.1
--- src/sys/net/if_ecosubr.c:1.36	Sun Nov 20 12:15:38 2011
+++ src/sys/net/if_ecosubr.c	Sun Dec  7 15:09:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_ecosubr.c,v 1.36 2011/11/20 12:15:38 kiyohara Exp $	*/
+/*	$NetBSD: if_ecosubr.c,v 1.36.4.1 2014/12/07 15:09:32 martin Exp $	*/
 
 /*-
  * Copyright (c) 2001 Ben Harris
@@ -58,7 +58,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ecosubr.c,v 1.36 2011/11/20 12:15:38 kiyohara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ecosubr.c,v 1.36.4.1 2014/12/07 15:09:32 martin Exp $");
 
 #include "opt_inet.h"
 #include "opt_pfil_hooks.h"
@@ -852,7 +852,7 @@ eco_retry_free(struct eco_retry *er)
 {
 	int s;
 
-	callout_stop(&er->er_callout);
+	callout_halt(&er->er_callout, NULL);
 	m_freem(er->er_packet);
 	s = splnet();
 	LIST_REMOVE(er, er_link);

Reply via email to