summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/cam/cam_xpt.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c
index 03ba677..466af40 100644
--- a/sys/cam/cam_xpt.c
+++ b/sys/cam/cam_xpt.c
@@ -4350,10 +4350,11 @@ static void
xpt_release_devq_device(struct cam_ed *dev, u_int count, int run_queue)
{
int rundevq;
- int s;
+ int s0, s1;
rundevq = 0;
- s = splcam();
+ s0 = splsoftcam();
+ s1 = splcam();
if (dev->qfrozen_cnt > 0) {
count = (count > dev->qfrozen_cnt) ? dev->qfrozen_cnt : count;
@@ -4388,9 +4389,10 @@ xpt_release_devq_device(struct cam_ed *dev, u_int count, int run_queue)
}
}
}
- splx(s);
+ splx(s1);
if (rundevq != 0)
xpt_run_dev_sendq(dev->target->bus);
+ splx(s0);
}
void
OpenPOWER on IntegriCloud