Licensing Information

Open Source Used In Cisco Nexus 9000 Series 7.0(3)I5(1)
3232
return;
}
if (status != IX_CRYPTO_ACC_STATUS_SUCCESS) {
printk("ixp: perform failed status=%d\n", status);
q->ixp_q_crp->crp_etype = EINVAL;
}
crypto_done(q->ixp_q_crp);
kmem_cache_free(qcache, q);
}
/*
* registration is not callable at IRQ time, so we defer
* to a task queue, this routines completes the registration for us
* when the task queue runs
*
* Unfortunately this means we cannot tell OCF that the driver is blocked,
* we do that on the next request.
*/
static void
ixp_registration(void *arg)
{
struct ixp_data *ixp = arg;
struct ixp_q *q = NULL;
IX_MBUF *pri = NULL, *sec = NULL;
int status = IX_CRYPTO_ACC_STATUS_SUCCESS;
if (!ixp) {
printk("ixp: ixp_registration with no arg\n");
return;
}
if (ixp->ixp_ctx_id != -1) {
ixCryptoAccCtxUnregister(ixp->ixp_ctx_id);
ixp->ixp_ctx_id = -1;
}
if (list_empty(&ixp->ixp_q)) {
printk("ixp: ixp_registration with no Q\n");
return;
}
/*
 * setup the primary and secondary buffers
 */