summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2009-05-10 20:14:19 +0000
committermarius <marius@FreeBSD.org>2009-05-10 20:14:19 +0000
commit57dc3a1951c15260f0a8077e7f5f59b15a42e261 (patch)
tree9e7d9c7f52ceb204dc8c85e6703c1f5923ead27e /sys/dev/isp
parent51f122997d95d99a2b0e68444995323789c9da37 (diff)
downloadFreeBSD-src-57dc3a1951c15260f0a8077e7f5f59b15a42e261.zip
FreeBSD-src-57dc3a1951c15260f0a8077e7f5f59b15a42e261.tar.gz
Change uses of the struct ccb_hdr timeout_ch missed when isp(4) was
adapted to MPSAFE cam(4) to a isp(4) specific callout structure. Thanks to Florian Smeets for providing access to a machine exhibiting this problem for debugging. Approved by: mjacob MFC after: 3 days
Diffstat (limited to 'sys/dev/isp')
-rw-r--r--sys/dev/isp/isp_freebsd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c
index 2e7981f..beb8fa1 100644
--- a/sys/dev/isp/isp_freebsd.c
+++ b/sys/dev/isp/isp_freebsd.c
@@ -1988,7 +1988,8 @@ isp_watchdog_work(ispsoftc_t *isp, XS_T *xs)
isp_done(xs);
} else {
XS_CMD_C_WDOG(xs);
- xs->ccb_h.timeout_ch = timeout(isp_watchdog, xs, hz);
+ callout_reset(&PISP_PCMD((union ccb *)xs)->wdog, hz,
+ isp_watchdog, xs);
XS_CMD_S_GRACE(xs);
isp->isp_sendmarker |= 1 << XS_CHANNEL(xs);
}
@@ -3004,7 +3005,7 @@ isp_done(struct ccb_scsiio *sccb)
XS_CMD_S_DONE(sccb);
if (XS_CMD_WDOG_P(sccb) == 0) {
- untimeout(isp_watchdog, sccb, sccb->ccb_h.timeout_ch);
+ callout_stop(&PISP_PCMD(sccb)->wdog);
if (XS_CMD_GRACE_P(sccb)) {
isp_prt(isp, ISP_LOGDEBUG2,
"finished command on borrowed time");
OpenPOWER on IntegriCloud