Lines Matching defs:crypto_cmd
90 struct ccp_crypto_cmd *crypto_cmd, struct ccp_crypto_cmd **backlog)
102 tmp = crypto_cmd;
104 if (crypto_cmd->tfm != tmp->tfm)
116 if (req_queue.backlog == &crypto_cmd->entry)
117 req_queue.backlog = crypto_cmd->entry.next;
124 if (req_queue.backlog == &crypto_cmd->entry)
125 req_queue.backlog = crypto_cmd->entry.next;
130 list_del(&crypto_cmd->entry);
139 struct ccp_crypto_cmd *crypto_cmd = data;
141 struct crypto_async_request *req = crypto_cmd->req;
147 if (crypto_cmd->ret == -EBUSY) {
148 crypto_cmd->ret = -EINPROGRESS;
159 held = ccp_crypto_cmd_complete(crypto_cmd, &backlog);
166 if (crypto_cmd->ret == -EBUSY)
201 kfree(crypto_cmd);
204 static int ccp_crypto_enqueue_cmd(struct ccp_crypto_cmd *crypto_cmd)
215 if (!(crypto_cmd->cmd->flags & CCP_CMD_MAY_BACKLOG)) {
226 if (crypto_cmd->tfm != tmp->tfm)
234 ret = ccp_enqueue_cmd(crypto_cmd->cmd);
242 req_queue.backlog = &crypto_cmd->entry;
244 crypto_cmd->ret = ret;
247 list_add_tail(&crypto_cmd->entry, &req_queue.cmds);
255 kfree(crypto_cmd);
270 struct ccp_crypto_cmd *crypto_cmd;
275 crypto_cmd = kzalloc(sizeof(*crypto_cmd), gfp);
276 if (!crypto_cmd)
284 crypto_cmd->cmd = cmd;
285 crypto_cmd->req = req;
286 crypto_cmd->tfm = req->tfm;
289 cmd->data = crypto_cmd;
296 return ccp_crypto_enqueue_cmd(crypto_cmd);