From: Markus Elfring <[email protected]>
Date: Fri, 27 Oct 2017 18:00:31 +0200

Adjust jump targets so that a bit of exception handling can be better
reused in an if branch of this function.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <[email protected]>
---
 drivers/misc/bh1770glc.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/misc/bh1770glc.c b/drivers/misc/bh1770glc.c
index 9c62bf064f77..c4c108ed88b0 100644
--- a/drivers/misc/bh1770glc.c
+++ b/drivers/misc/bh1770glc.c
@@ -660,15 +660,14 @@ static ssize_t bh1770_power_state_store(struct device 
*dev,
                pm_runtime_get_sync(dev);
 
                ret = bh1770_lux_rate(chip, chip->lux_rate_index);
-               if (ret < 0) {
-                       pm_runtime_put(dev);
-                       goto leave;
-               }
+               if (ret < 0)
+                       goto put_runtime;
 
                ret = bh1770_lux_interrupt_control(chip, BH1770_ENABLE);
                if (ret < 0) {
+put_runtime:
                        pm_runtime_put(dev);
-                       goto leave;
+                       goto unlock;
                }
 
                /* This causes interrupt after the next measurement cycle */
@@ -681,7 +680,7 @@ static ssize_t bh1770_power_state_store(struct device *dev,
                pm_runtime_put(dev);
        }
        ret = count;
-leave:
+unlock:
        mutex_unlock(&chip->mutex);
        return ret;
 }
-- 
2.14.3

Reply via email to