Re: [PATCH] staging: gs_fpgaboot: remove redundant code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 28, 2015 at 09:38:23AM +0000, Gujulan Elango, Hari Prasath (H.) wrote:
> remove redundant code in this function by introducing a new retval
> variable.
> 
> Signed-off-by: Gujulan Elango Hari Prasath <hgujulan@xxxxxxxxxxx>

No the original code is quite bad but this patch makes it worse.

gs_release_image() can't fail, and it should be a void function.

> ---
>  drivers/staging/gs_fpgaboot/gs_fpgaboot.c | 18 ++++++++----------
>  1 file changed, 8 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/staging/gs_fpgaboot/gs_fpgaboot.c b/drivers/staging/gs_fpgaboot/gs_fpgaboot.c
> index a3a10f9..cc0445c 100644
> --- a/drivers/staging/gs_fpgaboot/gs_fpgaboot.c
> +++ b/drivers/staging/gs_fpgaboot/gs_fpgaboot.c
> @@ -290,6 +290,7 @@ static int gs_fpgaboot(void)
>  {
>  	int err;
>  	struct fpgaimage	*fimage;
> +	int retval = 0;
>  
>  	fimage = kmalloc(sizeof(struct fpgaimage), GFP_KERNEL);
>  	if (!fimage)
> @@ -298,44 +299,41 @@ static int gs_fpgaboot(void)
>  	err = gs_load_image(fimage, file);
>  	if (err) {

		goto free_fimage;

>  		pr_err("gs_load_image error\n");
> +		retval = -1;
>  		goto err_out1;
>  	}
>  
>  	err = gs_read_image(fimage);
>  	if (err) {


		goto release_image;

>  		pr_err("gs_read_image error\n");
> +		retval = -1;
>  		goto err_out2;
>  	}
>  
>  	err = gs_set_download_method(fimage);
>  	if (err) {

		goto release_image;

>  		pr_err("gs_set_download_method error\n");
> +		retval = -1;
>  		goto err_out2;
>  	}
>  
>  	err = gs_download_image(fimage, bus_2byte);


release_image:
	gs_release_image(fimage);
free_fimage:
	kfree(fimage);

	return err;

regards,
dan carpenter
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux