On Tue, Mar 08, 2016 at 08:22:47PM -0500, David Kershner wrote:
> Visordriver_probe_device gotos were messy, clean them up.
> 
> Signed-off-by: David Kershner <david.kersh...@unisys.com>
> Signed-off-by: Timothy Sell <timothy.s...@unisys.com>
> ---
>  drivers/staging/unisys/visorbus/visorbus_main.c | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/staging/unisys/visorbus/visorbus_main.c 
> b/drivers/staging/unisys/visorbus/visorbus_main.c
> index 26e0374..6a228c8 100644
> --- a/drivers/staging/unisys/visorbus/visorbus_main.c
> +++ b/drivers/staging/unisys/visorbus/visorbus_main.c
> @@ -751,20 +751,21 @@ visordriver_probe_device(struct device *xdev)
>       wmb();

I know it's not related to this patch, but why in the world do you have
a wmb() here?  That's really not needed, and is a sign that something is
really wrong here...


>       get_device(&dev->device);
>       if (!drv->probe) {
> -             up(&dev->visordriver_callback_lock);
>               rc = -ENODEV;
> -             goto away;
> +             goto err_put_and_up;
>       }

Why not just check before calling get_device()?

>       rc = drv->probe(dev);
>       if (rc < 0)
> -             goto away;
> +             goto err_put_and_up;

No need for this goto at all, just don't call your fix_vbus_dev_info()
call, and return the value given you, making this function a lot
simpler, with no goto even needed.

what a mess...

greg k-h
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to