svn commit: r191979 - head/sys/dev/isp

Marius Strobl marius at FreeBSD.org
Sun May 10 20:14:20 UTC 2009


Author: marius
Date: Sun May 10 20:14:19 2009
New Revision: 191979
URL: http://svn.freebsd.org/changeset/base/191979

Log:
  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

Modified:
  head/sys/dev/isp/isp_freebsd.c

Modified: head/sys/dev/isp/isp_freebsd.c
==============================================================================
--- head/sys/dev/isp/isp_freebsd.c	Sun May 10 19:50:24 2009	(r191978)
+++ head/sys/dev/isp/isp_freebsd.c	Sun May 10 20:14:19 2009	(r191979)
@@ -1988,7 +1988,8 @@ isp_watchdog_work(ispsoftc_t *isp, XS_T 
 			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");


More information about the svn-src-head mailing list