crypto: ccp - use -ENOSPC for transient busy indication
authorGilad Ben-Yossef <gilad@benyossef.com>
Wed, 18 Oct 2017 07:00:34 +0000 (08:00 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 3 Nov 2017 14:11:16 +0000 (22:11 +0800)
Replace -EBUSY with -ENOSPC when reporting transient busy
indication in the absence of backlog.

Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
Reviewed-by: Gary R Hook <gary.hook@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/ccp/ccp-crypto-main.c
drivers/crypto/ccp/ccp-dev.c

index 35a9de7fd475a16e6c498c45714c7198edbfa916..b95d19974aa6e4a0a80cf31463f5dab78a9abd13 100644 (file)
@@ -222,9 +222,10 @@ static int ccp_crypto_enqueue_cmd(struct ccp_crypto_cmd *crypto_cmd)
 
        /* Check if the cmd can/should be queued */
        if (req_queue.cmd_count >= CCP_CRYPTO_MAX_QLEN) {
-               ret = -EBUSY;
-               if (!(crypto_cmd->cmd->flags & CCP_CMD_MAY_BACKLOG))
+               if (!(crypto_cmd->cmd->flags & CCP_CMD_MAY_BACKLOG)) {
+                       ret = -ENOSPC;
                        goto e_lock;
+               }
        }
 
        /* Look for an entry with the same tfm.  If there is a cmd
@@ -243,9 +244,6 @@ static int ccp_crypto_enqueue_cmd(struct ccp_crypto_cmd *crypto_cmd)
                ret = ccp_enqueue_cmd(crypto_cmd->cmd);
                if (!ccp_crypto_success(ret))
                        goto e_lock;    /* Error, don't queue it */
-               if ((ret == -EBUSY) &&
-                   !(crypto_cmd->cmd->flags & CCP_CMD_MAY_BACKLOG))
-                       goto e_lock;    /* Not backlogging, don't queue it */
        }
 
        if (req_queue.cmd_count >= CCP_CRYPTO_MAX_QLEN) {
index 4e029b176641612d5ca6433a87cc1623a3c534e9..1b5035d562880a6d0b66458fae9fa15adda33c1c 100644 (file)
@@ -292,9 +292,12 @@ int ccp_enqueue_cmd(struct ccp_cmd *cmd)
        i = ccp->cmd_q_count;
 
        if (ccp->cmd_count >= MAX_CMD_QLEN) {
-               ret = -EBUSY;
-               if (cmd->flags & CCP_CMD_MAY_BACKLOG)
+               if (cmd->flags & CCP_CMD_MAY_BACKLOG) {
+                       ret = -EBUSY;
                        list_add_tail(&cmd->entry, &ccp->backlog);
+               } else {
+                       ret = -ENOSPC;
+               }
        } else {
                ret = -EINPROGRESS;
                ccp->cmd_count++;