Index: dev/softraid_crypto.c =================================================================== RCS file: /cvs/src/sys/dev/softraid_crypto.c,v retrieving revision 1.116 diff -u -p -r1.116 softraid_crypto.c --- dev/softraid_crypto.c 19 Dec 2014 17:15:16 -0000 1.116 +++ dev/softraid_crypto.c 8 Feb 2015 02:07:25 -0000 @@ -1112,7 +1112,8 @@ sr_crypto_rw(struct sr_workunit *wu) if (wu->swu_xs->flags & SCSI_DATA_OUT) { crwu = sr_crypto_prepare(wu, 1); crwu->cr_crp->crp_callback = sr_crypto_write; - rv = crypto_invoke(crwu->cr_crp); + crwu->cr_crp->crp_flags = CRYPTO_F_NOQUEUE; + rv = crypto_dispatch(crwu->cr_crp); if (rv == 0) rv = crwu->cr_crp->crp_etype; } else @@ -1189,9 +1190,10 @@ sr_crypto_done(struct sr_workunit *wu) if (ISSET(xs->flags, SCSI_DATA_IN) && xs->error == XS_NOERROR) { crwu = sr_crypto_prepare(wu, 0); crwu->cr_crp->crp_callback = sr_crypto_read; - DNPRINTF(SR_D_INTR, "%s: sr_crypto_done: crypto_invoke %p\n", + crwu->cr_crp->crp_flags = CRYPTO_F_NOQUEUE; + DNPRINTF(SR_D_INTR, "%s: sr_crypto_done: crypto_dispatch %p\n", DEVNAME(wu->swu_dis->sd_sc), crwu->cr_crp); - crypto_invoke(crwu->cr_crp); + crypto_dispatch(crwu->cr_crp); return; }