From: Markus Elfring <elfr...@users.sourceforge.net>
Date: Tue, 24 Jan 2017 10:05:29 +0100

A local variable was set to an error code in two cases before a concrete
error situation was detected. Thus move the corresponding assignments into
if branches to indicate a software failure there.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfr...@users.sourceforge.net>
---
 sound/oss/dmasound/dmasound_core.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/sound/oss/dmasound/dmasound_core.c 
b/sound/oss/dmasound/dmasound_core.c
index f4ee85a4c42f..2bdd1d619a7f 100644
--- a/sound/oss/dmasound/dmasound_core.c
+++ b/sound/oss/dmasound/dmasound_core.c
@@ -1269,13 +1269,15 @@ static int state_open(struct inode *inode, struct file 
*file)
        int ret;
 
        mutex_lock(&dmasound_core_mutex);
-       ret = -EBUSY;
-       if (state.busy)
+       if (state.busy) {
+               ret = -EBUSY;
                goto out;
+       }
 
-       ret = -ENODEV;
-       if (!try_module_get(dmasound.mach.owner))
+       if (!try_module_get(dmasound.mach.owner)) {
+               ret = -ENODEV;
                goto out;
+       }
 
        state.ptr = 0;
        state.busy = 1;
-- 
2.11.0

Reply via email to