diff mbox series

scsi: megaraid_sas: Use common error handling code in megasas_mgmt_ioctl_fw()

Message ID d5c12f05-5a07-b698-ae60-2728330dd378@web.de (mailing list archive)
State Changes Requested
Headers show
Series scsi: megaraid_sas: Use common error handling code in megasas_mgmt_ioctl_fw() | expand

Commit Message

Markus Elfring Oct. 31, 2019, 9:35 p.m. UTC
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Thu, 31 Oct 2019 22:23:02 +0100

Move the same error code assignments so that such exception handling
can be better reused at the end of this function.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/scsi/megaraid/megaraid_sas_base.c | 25 ++++++++++-------------
 1 file changed, 11 insertions(+), 14 deletions(-)

--
2.23.0

Comments

Sumit Saxena Nov. 5, 2019, 9:28 a.m. UTC | #1
On Fri, Nov 1, 2019 at 3:06 AM Markus Elfring <Markus.Elfring@web.de> wrote:
>
> From: Markus Elfring <elfring@users.sourceforge.net>
> Date: Thu, 31 Oct 2019 22:23:02 +0100
>
> Move the same error code assignments so that such exception handling
> can be better reused at the end of this function.
>
> This issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>

Acked-by: Sumit Saxena <sumit.saxena@broadcom.com>

> ---
>  drivers/scsi/megaraid/megaraid_sas_base.c | 25 ++++++++++-------------
>  1 file changed, 11 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
> index c40fbea06cc5..f2f2a240e5af 100644
> --- a/drivers/scsi/megaraid/megaraid_sas_base.c
> +++ b/drivers/scsi/megaraid/megaraid_sas_base.c
> @@ -8272,27 +8272,20 @@ static int megasas_mgmt_ioctl_fw(struct file *file, unsigned long arg)
>                 return PTR_ERR(ioc);
>
>         instance = megasas_lookup_instance(ioc->host_no);
> -       if (!instance) {
> -               error = -ENODEV;
> -               goto out_kfree_ioc;
> -       }
> +       if (!instance)
> +               goto e_nodev;
>
>         /* Block ioctls in VF mode */
> -       if (instance->requestorId && !allow_vf_ioctls) {
> -               error = -ENODEV;
> -               goto out_kfree_ioc;
> -       }
> +       if (instance->requestorId && !allow_vf_ioctls)
> +               goto e_nodev;
>
>         if (atomic_read(&instance->adprecovery) == MEGASAS_HW_CRITICAL_ERROR) {
>                 dev_err(&instance->pdev->dev, "Controller in crit error\n");
> -               error = -ENODEV;
> -               goto out_kfree_ioc;
> +               goto e_nodev;
>         }
>
> -       if (instance->unload == 1) {
> -               error = -ENODEV;
> -               goto out_kfree_ioc;
> -       }
> +       if (instance->unload == 1)
> +               goto e_nodev;
>
>         if (down_interruptible(&instance->ioctl_sem)) {
>                 error = -ERESTARTSYS;
> @@ -8311,6 +8304,10 @@ static int megasas_mgmt_ioctl_fw(struct file *file, unsigned long arg)
>  out_kfree_ioc:
>         kfree(ioc);
>         return error;
> +
> +e_nodev:
> +       error = -ENODEV;
> +       goto out_kfree_ioc;
>  }
>
>  static int megasas_mgmt_ioctl_aen(struct file *file, unsigned long arg)
> --
> 2.23.0
>
Dan Carpenter Nov. 5, 2019, 9:36 a.m. UTC | #2
On Tue, Nov 05, 2019 at 02:58:35PM +0530, Sumit Saxena wrote:
> On Fri, Nov 1, 2019 at 3:06 AM Markus Elfring <Markus.Elfring@web.de> wrote:
> >
> > From: Markus Elfring <elfring@users.sourceforge.net>
> > Date: Thu, 31 Oct 2019 22:23:02 +0100
> >
> > Move the same error code assignments so that such exception handling
> > can be better reused at the end of this function.
> >
> > This issue was detected by using the Coccinelle software.
> >
> > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> 
> Acked-by: Sumit Saxena <sumit.saxena@broadcom.com>
> 

The code was a lot better originally...  :(

regards,
dan carpenter
Julian Calaby Nov. 5, 2019, 10:20 a.m. UTC | #3
Hi,

On Tue, Nov 5, 2019 at 8:41 PM Dan Carpenter <dan.carpenter@oracle.com> wrote:
>
> On Tue, Nov 05, 2019 at 02:58:35PM +0530, Sumit Saxena wrote:
> > On Fri, Nov 1, 2019 at 3:06 AM Markus Elfring <Markus.Elfring@web.de> wrote:
> > >
> > > From: Markus Elfring <elfring@users.sourceforge.net>
> > > Date: Thu, 31 Oct 2019 22:23:02 +0100
> > >
> > > Move the same error code assignments so that such exception handling
> > > can be better reused at the end of this function.
> > >
> > > This issue was detected by using the Coccinelle software.
> > >
> > > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> >
> > Acked-by: Sumit Saxena <sumit.saxena@broadcom.com>
> >
>
> The code was a lot better originally...  :(

Agreed, this is a lot of stuffing around to save 3 lines.

Thanks,
diff mbox series

Patch

diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index c40fbea06cc5..f2f2a240e5af 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -8272,27 +8272,20 @@  static int megasas_mgmt_ioctl_fw(struct file *file, unsigned long arg)
 		return PTR_ERR(ioc);

 	instance = megasas_lookup_instance(ioc->host_no);
-	if (!instance) {
-		error = -ENODEV;
-		goto out_kfree_ioc;
-	}
+	if (!instance)
+		goto e_nodev;

 	/* Block ioctls in VF mode */
-	if (instance->requestorId && !allow_vf_ioctls) {
-		error = -ENODEV;
-		goto out_kfree_ioc;
-	}
+	if (instance->requestorId && !allow_vf_ioctls)
+		goto e_nodev;

 	if (atomic_read(&instance->adprecovery) == MEGASAS_HW_CRITICAL_ERROR) {
 		dev_err(&instance->pdev->dev, "Controller in crit error\n");
-		error = -ENODEV;
-		goto out_kfree_ioc;
+		goto e_nodev;
 	}

-	if (instance->unload == 1) {
-		error = -ENODEV;
-		goto out_kfree_ioc;
-	}
+	if (instance->unload == 1)
+		goto e_nodev;

 	if (down_interruptible(&instance->ioctl_sem)) {
 		error = -ERESTARTSYS;
@@ -8311,6 +8304,10 @@  static int megasas_mgmt_ioctl_fw(struct file *file, unsigned long arg)
 out_kfree_ioc:
 	kfree(ioc);
 	return error;
+
+e_nodev:
+	error = -ENODEV;
+	goto out_kfree_ioc;
 }

 static int megasas_mgmt_ioctl_aen(struct file *file, unsigned long arg)