Message ID | 1415631548-23674-1-git-send-email-balbi@ti.com |
---|---|
State | New |
Headers | show |
On Mon, Nov 10, 2014 at 08:59:08AM -0600, Felipe Balbi wrote: > From: Robert Baldyga <r.baldyga@samsung.com> > > [ Upstream commit a3058a5d82e296daaca07411c3738a9ddd79f302 ] > > 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. > > Fixes: 5920cda (usb: gadget: FunctionFS: convert to new function > interface with backward compatibility) > Cc: <stable@vger.kernel.org> # v3.14+ > Signed-off-by: Robert Baldyga <r.baldyga@samsung.com> > Signed-off-by: Felipe Balbi <balbi@ti.com> please ignore this one too.
diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index 7ad7137..db66be2 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -2626,8 +2626,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,