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");
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to