On Wed, Oct 23 2013, Andrzej Pietrasiewicz wrote:
> Since d6a0143985489e470a118605352f4b18df0ce142
> usb: gadget: move the global the_dev variable to their users
> "the_dev" variable can be used as a "setup done" flag; non-NULL
> meaning "setup done", NULL meaning "setup not done". Moreover,
> gether_cleanup() can be safely called with a NULL argument.
>
> Corrected a comment to be consistent with the code.
>
> Signed-off-by: Andrzej Pietrasiewicz <andrze...@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>

Acked-by: Michal Nazarewicz <min...@mina86.com>

> ---
>  drivers/usb/gadget/g_ffs.c |   13 +++++--------
>  1 files changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/usb/gadget/g_ffs.c b/drivers/usb/gadget/g_ffs.c
> index 2344efe..e954082 100644
> --- a/drivers/usb/gadget/g_ffs.c
> +++ b/drivers/usb/gadget/g_ffs.c
> @@ -182,7 +182,6 @@ static __refdata struct usb_composite_driver gfs_driver = 
> {
>  
>  static DEFINE_MUTEX(gfs_lock);
>  static unsigned int missing_funcs;
> -static bool gfs_ether_setup;
>  static bool gfs_registered;
>  static bool gfs_single_func;
>  static struct gfs_ffs_obj *ffs_tab;
> @@ -364,7 +363,6 @@ static int gfs_bind(struct usb_composite_dev *cdev)
>               ret = PTR_ERR(the_dev);
>               goto error_quick;
>       }
> -     gfs_ether_setup = true;
>  
>       ret = usb_string_ids_tab(cdev, gfs_strings);
>       if (unlikely(ret < 0))
> @@ -401,8 +399,8 @@ error_unbind:
>               functionfs_unbind(ffs_tab[i].ffs_data);
>  error:
>       gether_cleanup(the_dev);
> +     the_dev = NULL;
>  error_quick:
> -     gfs_ether_setup = false;
>       return ret;
>  }
>  
> @@ -415,18 +413,17 @@ static int gfs_unbind(struct usb_composite_dev *cdev)
>  
>       ENTER();
>  
> +     gether_cleanup(the_dev);
> +     the_dev = NULL;
> +
>       /*
>        * We may have been called in an error recovery from
>        * composite_bind() after gfs_unbind() failure so we need to
> -      * check if gfs_ffs_data is not NULL since gfs_bind() handles
> +      * check if instance's ffs_data is not NULL since gfs_bind() handles
>        * all error recovery itself.  I'd rather we werent called
>        * from composite on orror recovery, but what you're gonna
>        * do...?
>        */
> -     if (gfs_ether_setup)
> -             gether_cleanup(the_dev);
> -     gfs_ether_setup = false;
> -
>       for (i = func_num; i--; )
>               if (ffs_tab[i].ffs_data)
>                       functionfs_unbind(ffs_tab[i].ffs_data);
> -- 
> 1.7.0.4

Attachment: signature.asc
Description: PGP signature

Reply via email to