diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index 67f7c2b69222..b6f38174ad18 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -1760,8 +1760,13 @@ static int ffs_fs_get_tree(struct fs_context *fc) return invalf(fc, "No source specified"); ffs = ffs_data_new(fc->source); - if (unlikely(!ffs)) - return -ENOMEM; + if (IS_ERR_OR_NULL(ffs)) { + if (!ffs) + return -ENOMEM; + else + return PTR_ERR(ffs); + } + ffs->file_perms = ctx->perms; ffs->no_disconnect = ctx->no_disconnect;