sound: core: Remove redundant variable and return the last statement
authorMeng Tang <tangmeng@uniontech.com>
Mon, 28 Feb 2022 05:02:53 +0000 (13:02 +0800)
committerTakashi Iwai <tiwai@suse.de>
Mon, 28 Feb 2022 16:57:14 +0000 (17:57 +0100)
Return the result from file->f_op->open() directly instead of
taking this in another redundant variable. Make the typical
return the last statement, return early and reduce the indentation
too.

Signed-off-by: Meng Tang <tangmeng@uniontech.com>
Link: https://lore.kernel.org/r/20220228050253.1649-2-tangmeng@uniontech.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/sound_core.c

index aa4a57e488e50b1230eec0c5152812f5782d3e3c..3332fe321737eccc262c7622f744fac11cc700eb 100644 (file)
@@ -577,20 +577,20 @@ static int soundcore_open(struct inode *inode, struct file *file)
                        new_fops = fops_get(s->unit_fops);
        }
        spin_unlock(&sound_loader_lock);
-       if (new_fops) {
-               /*
-                * We rely upon the fact that we can't be unloaded while the
-                * subdriver is there.
-                */
-               int err = 0;
-               replace_fops(file, new_fops);
 
-               if (file->f_op->open)
-                       err = file->f_op->open(inode,file);
+       if (!new_fops)
+               return -ENODEV;
 
-               return err;
-       }
-       return -ENODEV;
+       /*
+        * We rely upon the fact that we can't be unloaded while the
+        * subdriver is there.
+        */
+       replace_fops(file, new_fops);
+
+       if (!file->f_op->open)
+               return -ENODEV;
+
+       return file->f_op->open(inode, file);
 }
 
 MODULE_ALIAS_CHARDEV_MAJOR(SOUND_MAJOR);