/** * mrsas_cmd_done: Perform remaining command completion * input: Adapter instance soft state * Pointer to command packet * * This function calls ummap request and releases the MPT command. */ void mrsas_cmd_done(struct mrsas_softc *sc, struct mrsas_mpt_cmd *cmd) { callout_stop(&cmd->cm_callout); mrsas_unmap_request(sc, cmd); lockmgr(&sc->sim_lock, LK_EXCLUSIVE); xpt_done(cmd->ccb_ptr); cmd->ccb_ptr = NULL; lockmgr(&sc->sim_lock, LK_RELEASE); mrsas_release_mpt_cmd(cmd); }
/** * mrsas_cmd_done: Perform remaining command completion * input: Adapter instance soft state * Pointer to command packet * * This function calls ummap request and releases the MPT command. */ void mrsas_cmd_done(struct mrsas_softc *sc, struct mrsas_mpt_cmd *cmd) { callout_stop(&cmd->cm_callout); mrsas_unmap_request(sc, cmd); mtx_lock(&sc->sim_lock); xpt_done(cmd->ccb_ptr); cmd->ccb_ptr = NULL; mtx_unlock(&sc->sim_lock); mrsas_release_mpt_cmd(cmd); }