On Thu, Oct 09 2014, Robert Baldyga <r.baldyga@xxxxxxxxxxx> wrote: > During FunctionFS bind, ffs_data_get() function was called twice > (in functionfs_bind() and in ffs_do_functionfs_bind()), while on unbind > ffs_data_put() was called once (in functionfs_unbind() function). > In result refcount never reached value 0, and ffs memory resources has > been never released. > > Since ffs_data_get() call in ffs_do_functionfs_bind() is redundant > and not neccessary, we remove it to have equal number of gets ans puts, > and free allocated memory after refcount reach 0. > > Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> > --- > drivers/usb/gadget/function/f_fs.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c > index 7c6771d..12dbdaf 100644 > --- a/drivers/usb/gadget/function/f_fs.c > +++ b/drivers/usb/gadget/function/f_fs.c > @@ -2663,8 +2663,6 @@ static inline struct f_fs_opts *ffs_do_functionfs_bind(struct usb_function *f, > func->conf = c; > func->gadget = c->cdev->gadget; > > - ffs_data_get(func->ffs); > - > /* > * in drivers/usb/gadget/configfs.c:configfs_composite_bind() > * configurations are bound in sequence with list_for_each_entry, > -- > 1.9.1 > -- Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michał “mina86” Nazarewicz (o o) ooo +--<mpn@xxxxxxxxxx>--<xmpp:mina86@xxxxxxxxxx>--ooO--(_)--Ooo-- -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html