On Thu, May 28, 2015 at 01:08:36PM +0300, Dan Carpenter wrote:
> 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 <[email protected]>
>
> 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.
>
Dan, I didn't note that the gs_release_image() always returns success.
> > ---
> > 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;
>
I guess we should retain the debug message here and in the other cases
below.
> > 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
I will send a v2 with these changes if its fine or we could just leave
it as it is.
regards,
Hari Prasath
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel