]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
scsi: cxlflash: Update cxlflash_afu_sync() to return errno
authorUma Krishnan <ukrishn@linux.vnet.ibm.com>
Fri, 7 Jul 2017 16:05:40 +0000 (13:05 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Fri, 14 Jul 2017 14:33:15 +0000 (11:33 -0300)
BugLink: http://bugs.launchpad.net/bugs/1702521
The cxlflash_afu_sync() routine returns a negative one to indicate any kind
of failure. This makes it impossible to establish why the error occurred.

Update the return codes to clearly indicate the failure cause to the
caller.

Signed-off-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Acked-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit 539d890cecee6b5d7304914afc51b7f53150163d)
Signed-off-by: Victor Aoqui <victora@linux.vnet.ibm.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
drivers/scsi/cxlflash/main.c

index 64ea597ca98e7f97dde3c2d9c2500e9d705a859f..815d04b3e7aa650d421b13df2283f9c09f9bd05f 100644 (file)
@@ -2022,8 +2022,7 @@ err1:
  * going away).
  *
  * Return:
- *     0 on success
- *     -1 on failure
+ *     0 on success, -errno on failure
  */
 int cxlflash_afu_sync(struct afu *afu, ctx_hndl_t ctx_hndl_u,
                      res_hndl_t res_hndl_u, u8 mode)
@@ -2047,7 +2046,7 @@ int cxlflash_afu_sync(struct afu *afu, ctx_hndl_t ctx_hndl_u,
        buf = kzalloc(sizeof(*cmd) + __alignof__(*cmd) - 1, GFP_KERNEL);
        if (unlikely(!buf)) {
                dev_err(dev, "%s: no memory for command\n", __func__);
-               rc = -1;
+               rc = -ENOMEM;
                goto out;
        }
 
@@ -2071,12 +2070,14 @@ int cxlflash_afu_sync(struct afu *afu, ctx_hndl_t ctx_hndl_u,
        *((__be32 *)&cmd->rcb.cdb[4]) = cpu_to_be32(res_hndl_u);
 
        rc = afu->send_cmd(afu, cmd);
-       if (unlikely(rc))
+       if (unlikely(rc)) {
+               rc = -ENOBUFS;
                goto out;
+       }
 
        rc = wait_resp(afu, cmd);
        if (unlikely(rc))
-               rc = -1;
+               rc = -EIO;
 out:
        atomic_dec(&afu->cmds_active);
        mutex_unlock(&sync_active);