USB: gadget: f_mass_storage: put_device() in error recovery
authorRahul Ruikar <rahul.ruikar@gmail.com>
Thu, 28 Oct 2010 15:31:19 +0000 (17:31 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 11 Nov 2010 13:58:48 +0000 (05:58 -0800)
This commit fixes an issue with error recovery after
device_register() fails in Mass Storage Function.  The device
needs to be put to avoid resource leakage.

Signed-off-by: Rahul Ruikar <rahul.ruikar@gmail.com>
[mina86@mina86.com: updated commit message]
Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/f_mass_storage.c

index 838286b..c89b992 100644 (file)
@@ -2765,6 +2765,7 @@ static struct fsg_common *fsg_common_init(struct fsg_common *common,
                if (rc) {
                        INFO(common, "failed to register LUN%d: %d\n", i, rc);
                        common->nluns = i;
+                       put_device(&curlun->dev);
                        goto error_release;
                }