scsi: mpi3mr: Remove unnecessary memcpy() to alltgt_info->dmi
authorShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Tue, 14 Feb 2023 00:50:17 +0000 (09:50 +0900)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 22 Feb 2023 03:00:50 +0000 (22:00 -0500)
In the function mpi3mr_get_all_tgt_info(), devmap_info points to
alltgt_info->dmi then there is no need to memcpy() data from devmap_info to
alltgt_info->dmi. Remove the unnecessary memcpy(). This also allows to
remove the local variable 'rval' and the goto label 'out'.

Link: https://lore.kernel.org/r/20230214005019.1897251-3-shinichiro.kawasaki@wdc.com
Cc: stable@vger.kernel.org
Fixes: f5e6d5a34376 ("scsi: mpi3mr: Add support for driver commands")
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Acked-by: Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpi3mr/mpi3mr_app.c

index 72054e3..bff6377 100644 (file)
@@ -293,7 +293,6 @@ out:
 static long mpi3mr_get_all_tgt_info(struct mpi3mr_ioc *mrioc,
        struct bsg_job *job)
 {
-       long rval = -EINVAL;
        u16 num_devices = 0, i = 0, size;
        unsigned long flags;
        struct mpi3mr_tgt_dev *tgtdev;
@@ -304,7 +303,7 @@ static long mpi3mr_get_all_tgt_info(struct mpi3mr_ioc *mrioc,
        if (job->request_payload.payload_len < sizeof(u32)) {
                dprint_bsg_err(mrioc, "%s: invalid size argument\n",
                    __func__);
-               return rval;
+               return -EINVAL;
        }
 
        spin_lock_irqsave(&mrioc->tgtdev_lock, flags);
@@ -350,20 +349,12 @@ static long mpi3mr_get_all_tgt_info(struct mpi3mr_ioc *mrioc,
                sizeof(*devmap_info);
        usr_entrylen *= sizeof(*devmap_info);
        min_entrylen = min(usr_entrylen, kern_entrylen);
-       if (min_entrylen && (!memcpy(&alltgt_info->dmi, devmap_info, min_entrylen))) {
-               dprint_bsg_err(mrioc, "%s:%d: device map info copy failed\n",
-                   __func__, __LINE__);
-               rval = -EFAULT;
-               goto out;
-       }
 
        sg_copy_from_buffer(job->request_payload.sg_list,
                            job->request_payload.sg_cnt,
                            alltgt_info, (min_entrylen + sizeof(u64)));
-       rval = 0;
-out:
        kfree(alltgt_info);
-       return rval;
+       return 0;
 }
 /**
  * mpi3mr_get_change_count - Get topology change count