This is a note to let you know that I've just added the patch titled [PATCH backport v2] usb: gadget: f_fs: remove redundant ffs_data_get() to the 3.10-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: usb-gadget-f_fs-remove-redundant-ffs_data_get.patch and it can be found in the queue-3.10 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From balbi@xxxxxx Wed Nov 12 08:47:28 2014 From: Felipe Balbi <balbi@xxxxxx> Date: Mon, 10 Nov 2014 09:19:57 -0600 Subject: [PATCH backport v2] usb: gadget: f_fs: remove redundant ffs_data_get() To: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx>, Robert Baldyga <r.baldyga@xxxxxxxxxxx>, Felipe Balbi <balbi@xxxxxx> Message-ID: <1415632797-28618-1-git-send-email-balbi@xxxxxx> From: Robert Baldyga <r.baldyga@xxxxxxxxxxx> [ 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) Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/usb/gadget/f_fs.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/usb/gadget/f_fs.c b/drivers/usb/gadget/f_fs.c index 5bcf7d0..afd0a15 100644 --- a/drivers/usb/gadget/f_fs.c +++ b/drivers/usb/gadget/f_fs.c @@ -1995,8 +1995,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, -- 2.1.0.GIT -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html Patches currently in stable-queue which might be from balbi@xxxxxx are queue-3.10/usb-dwc3-gadget-fix-set_halt-bug-with-pending-transfers.patch queue-3.10/usb-gadget-f_fs-remove-redundant-ffs_data_get.patch queue-3.10/usb-gadget-function-acm-make-f_acm-pass-usb20cv-chapter9.patch queue-3.10/usb-gadget-udc-core-fix-kernel-oops-with-soft-connect.patch queue-3.10/usb-dwc3-gadget-properly-initialize-link-trb.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html