Remove the messy locking dance around xpt_done()
This commit is contained in:
parent
ef3cf714a4
commit
29c711f038
@ -495,12 +495,7 @@ aac_cam_complete(struct aac_command *cm)
|
||||
}
|
||||
|
||||
aac_release_command(cm);
|
||||
|
||||
mtx_unlock(&sc->aac_io_lock);
|
||||
mtx_lock(&Giant);
|
||||
xpt_done(ccb);
|
||||
mtx_unlock(&Giant);
|
||||
mtx_lock(&sc->aac_io_lock);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -559,11 +559,7 @@ amr_cam_complete(struct amr_command *ac)
|
||||
free(ap, M_DEVBUF);
|
||||
if ((csio->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE)
|
||||
debug(2, "%*D\n", imin(csio->dxfer_len, 16), csio->data_ptr, " ");
|
||||
mtx_unlock(&sc->amr_io_lock);
|
||||
mtx_lock(&Giant);
|
||||
xpt_done((union ccb *)csio);
|
||||
mtx_unlock(&Giant);
|
||||
mtx_lock(&sc->amr_io_lock);
|
||||
amr_releasecmd(ac);
|
||||
}
|
||||
|
||||
@ -627,10 +623,6 @@ amr_cam_complete_extcdb(struct amr_command *ac)
|
||||
free(aep, M_DEVBUF);
|
||||
if ((csio->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE)
|
||||
debug(2, "%*D\n", imin(csio->dxfer_len, 16), csio->data_ptr, " ");
|
||||
mtx_unlock(&sc->amr_io_lock);
|
||||
mtx_lock(&Giant);
|
||||
xpt_done((union ccb *)csio);
|
||||
mtx_unlock(&Giant);
|
||||
mtx_lock(&sc->amr_io_lock);
|
||||
amr_releasecmd(ac);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user