summaryrefslogtreecommitdiffstats
path: root/sys/dev/isp
diff options
context:
space:
mode:
authormjacob <mjacob@FreeBSD.org>2010-06-05 00:55:21 +0000
committermjacob <mjacob@FreeBSD.org>2010-06-05 00:55:21 +0000
commitb471c2cbb24dfa51bb8d22415e13779e19f24c02 (patch)
tree21a337ea0bf33e8122dbd17e947f98638f9ad0b8 /sys/dev/isp
parent624cd0ffbf8ad2959f6f1aacf547da8d1c827d1a (diff)
downloadFreeBSD-src-b471c2cbb24dfa51bb8d22415e13779e19f24c02.zip
FreeBSD-src-b471c2cbb24dfa51bb8d22415e13779e19f24c02.tar.gz
I was getting panics in sleepq_add for the second sleep in isp_kthread.
I don't know why- but it occurred to me in looking at the second sleep is that all I want is a pause- not an actual sleep. So do that instead. MFC after: 2 weeks
Diffstat (limited to 'sys/dev/isp')
-rw-r--r--sys/dev/isp/isp_freebsd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c
index eaeda55..4220d1f 100644
--- a/sys/dev/isp/isp_freebsd.c
+++ b/sys/dev/isp/isp_freebsd.c
@@ -4139,7 +4139,9 @@ isp_kthread(void *arg)
*/
if (slp == 0 && fc->hysteresis) {
isp_prt(isp, ISP_LOGSANCFG|ISP_LOGDEBUG0, "%s: Chan %d sleep hysteresis ticks %d", __func__, chan, fc->hysteresis * hz);
- (void) msleep(&isp_fabric_hysteresis, &isp->isp_osinfo.lock, PRIBIO, "ispT", (fc->hysteresis * hz));
+ mtx_unlock(&isp->isp_osinfo.lock);
+ pause("ispt", fc->hysteresis * hz);
+ mtx_lock(&isp->isp_osinfo.lock);
}
}
mtx_unlock(&isp->isp_osinfo.lock);
OpenPOWER on IntegriCloud