From 08390ba4c9709314bb37c26806e2520a96b790bb Mon Sep 17 00:00:00 2001 From: Xin LI Date: Mon, 30 Aug 2010 21:33:33 +0000 Subject: [PATCH] Drain watchdog callouts before detaching. This prevents a panic while unloading the kernel module. Submitted by: Tom Cough --- sys/dev/twa/tw_osl_freebsd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/dev/twa/tw_osl_freebsd.c b/sys/dev/twa/tw_osl_freebsd.c index 5cb25bd9847..3b7b426a628 100644 --- a/sys/dev/twa/tw_osl_freebsd.c +++ b/sys/dev/twa/tw_osl_freebsd.c @@ -903,6 +903,10 @@ twa_shutdown(device_t dev) /* Disconnect interrupts. */ error = twa_teardown_intr(sc); + /* Stop watchdog task. */ + callout_drain(&(sc->watchdog_callout[0])); + callout_drain(&(sc->watchdog_callout[1])); + /* Disconnect from the controller. */ if ((error = tw_cl_shutdown_ctlr(&(sc->ctlr_handle), 0))) { tw_osli_printf(sc, "error = %d",