diff options
author | Alexander Motin <mav@FreeBSD.org> | 2014-01-11 16:52:09 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2014-01-11 16:52:09 +0000 |
commit | d718926b6d61e60690ca681b443d792b5c61ec47 (patch) | |
tree | 29392fc165bd9b0ac6d85c3baf421482607e2cf5 /sys/cam/cam_xpt.c | |
parent | ac5863eed85f1ee80ac89ae6641f0efa803dec1f (diff) | |
download | src-test2-d718926b6d61e60690ca681b443d792b5c61ec47.tar.gz src-test2-d718926b6d61e60690ca681b443d792b5c61ec47.zip |
Notes
Diffstat (limited to 'sys/cam/cam_xpt.c')
-rw-r--r-- | sys/cam/cam_xpt.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/sys/cam/cam_xpt.c b/sys/cam/cam_xpt.c index d129869746dc..7edc708c2b9f 100644 --- a/sys/cam/cam_xpt.c +++ b/sys/cam/cam_xpt.c @@ -5188,8 +5188,7 @@ xpt_done_process(struct ccb_hdr *ccb_h) if ((ccb_h->flags & CAM_DEV_QFRZDIS) && (ccb_h->status & CAM_DEV_QFRZN)) { - xpt_release_devq(ccb_h->path, /*count*/1, - /*run_queue*/FALSE); + xpt_release_devq(ccb_h->path, /*count*/1, /*run_queue*/TRUE); ccb_h->status &= ~CAM_DEV_QFRZN; } @@ -5218,6 +5217,7 @@ xpt_done_process(struct ccb_hdr *ccb_h) if (!device_is_queued(dev)) (void)xpt_schedule_devq(devq, dev); + xpt_run_devq(devq); mtx_unlock(&devq->send_mtx); if ((dev->flags & CAM_DEV_TAG_AFTER_COUNT) != 0) { @@ -5247,10 +5247,6 @@ xpt_done_process(struct ccb_hdr *ccb_h) (*ccb_h->cbfcnp)(ccb_h->path->periph, (union ccb *)ccb_h); if (mtx != NULL) mtx_unlock(mtx); - - mtx_lock(&devq->send_mtx); - xpt_run_devq(devq); - mtx_unlock(&devq->send_mtx); } void |