Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1604061

[PATCH] staging: impedance-analyzer: ad5933: Remove unnecessary goto

From simran singhal <singhalsimran0@gmail.com>
Newsgroups linux.kernel
Subject [PATCH] staging: impedance-analyzer: ad5933: Remove unnecessary goto
Date 2017-03-19 19:00 +0100
Message-ID <tmNhw-Gx-9@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Remove unnecessary goto.

Signed-off-by: simran singhal <singhalsimran0@gmail.com>
---
 drivers/staging/iio/impedance-analyzer/ad5933.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/iio/impedance-analyzer/ad5933.c b/drivers/staging/iio/impedance-analyzer/ad5933.c
index 297665d..c9ed2ac 100644
--- a/drivers/staging/iio/impedance-analyzer/ad5933.c
+++ b/drivers/staging/iio/impedance-analyzer/ad5933.c
@@ -663,12 +663,12 @@ static void ad5933_work(struct work_struct *work)
 		ad5933_cmd(st, AD5933_CTRL_START_SWEEP);
 		st->state = AD5933_CTRL_START_SWEEP;
 		schedule_delayed_work(&st->work, st->poll_time_jiffies);
-		goto out;
+		mutex_unlock(&indio_dev->mlock);
 	}
 
 	ret = ad5933_i2c_read(st->client, AD5933_REG_STATUS, 1, &status);
 	if (ret)
-		goto out;
+		mutex_unlock(&indio_dev->mlock);
 
 	if (status & AD5933_STAT_DATA_VALID) {
 		int scan_count = bitmap_weight(indio_dev->active_scan_mask,
@@ -678,7 +678,7 @@ static void ad5933_work(struct work_struct *work)
 				AD5933_REG_REAL_DATA : AD5933_REG_IMAG_DATA,
 				scan_count * 2, (u8 *)buf);
 		if (ret)
-			goto out;
+			mutex_unlock(&indio_dev->mlock);
 
 		if (scan_count == 2) {
 			val[0] = be16_to_cpu(buf[0]);
@@ -690,7 +690,7 @@ static void ad5933_work(struct work_struct *work)
 	} else {
 		/* no data available - try again later */
 		schedule_delayed_work(&st->work, st->poll_time_jiffies);
-		goto out;
+		mutex_unlock(&indio_dev->mlock);
 	}
 
 	if (status & AD5933_STAT_SWEEP_DONE) {
@@ -703,8 +703,6 @@ static void ad5933_work(struct work_struct *work)
 		ad5933_cmd(st, AD5933_CTRL_INC_FREQ);
 		schedule_delayed_work(&st->work, st->poll_time_jiffies);
 	}
-out:
-	mutex_unlock(&indio_dev->mlock);
 }
 
 static int ad5933_probe(struct i2c_client *client,
-- 
2.7.4

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH] staging: impedance-analyzer: ad5933: Remove unnecessary goto simran singhal <singhalsimran0@gmail.com> - 2017-03-19 19:00 +0100
  Re: [Outreachy kernel] [PATCH] staging: impedance-analyzer: ad5933:  Remove unnecessary goto Julia Lawall <julia.lawall@lip6.fr> - 2017-03-19 19:10 +0100
    Re: [Outreachy kernel] [PATCH] staging: impedance-analyzer: ad5933:  Remove unnecessary goto SIMRAN SINGHAL <singhalsimran0@gmail.com> - 2017-03-19 19:30 +0100

csiph-web