usb: gadget: f_mass_storage: remove unnecessary open check
authorDavid Disseldorp <ddiss@suse.de>
Wed, 7 Jun 2023 21:54:02 +0000 (23:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Jun 2023 09:56:11 +0000 (11:56 +0200)
The fsg_lun_is_open() test can be eliminated and the code merged with
the preceding conditional, because the LUN won't be open if
cfg->filename wasn't set. Similarly, the error_lun label will never be
reached with an open lun (non-null filp) so remove the unnecessary
fsg_lun_close() call.

Signed-off-by: David Disseldorp <ddiss@suse.de>
Reviewed-by: Alan Stern <stern@rowland.harvard.edu>
Message-ID: <20230607215401.22563-1-ddiss@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/function/f_mass_storage.c

index 3a30feb47073f0aeeac0bd13e5f82e36cfe2a030..da07e45ae6df5c16280652152d68d6ee8b4bec28 100644 (file)
@@ -2857,7 +2857,7 @@ int fsg_common_create_lun(struct fsg_common *common, struct fsg_lun_config *cfg,
                          const char **name_pfx)
 {
        struct fsg_lun *lun;
-       char *pathbuf, *p;
+       char *pathbuf = NULL, *p = "(no medium)";
        int rc = -ENOMEM;
 
        if (id >= ARRAY_SIZE(common->luns))
@@ -2907,12 +2907,9 @@ int fsg_common_create_lun(struct fsg_common *common, struct fsg_lun_config *cfg,
                rc = fsg_lun_open(lun, cfg->filename);
                if (rc)
                        goto error_lun;
-       }
 
-       pathbuf = kmalloc(PATH_MAX, GFP_KERNEL);
-       p = "(no medium)";
-       if (fsg_lun_is_open(lun)) {
                p = "(error)";
+               pathbuf = kmalloc(PATH_MAX, GFP_KERNEL);
                if (pathbuf) {
                        p = file_path(lun->filp, pathbuf, PATH_MAX);
                        if (IS_ERR(p))
@@ -2931,7 +2928,6 @@ int fsg_common_create_lun(struct fsg_common *common, struct fsg_lun_config *cfg,
 error_lun:
        if (device_is_registered(&lun->dev))
                device_unregister(&lun->dev);
-       fsg_lun_close(lun);
        common->luns[id] = NULL;
 error_sysfs:
        kfree(lun);