From f7d9ddab32af16448b863701685c190d55a348ad Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Wed, 8 Jun 2011 09:42:21 +0300 Subject: [PATCH] --- yaml --- r: 259648 b: refs/heads/master c: f88af7e7d338e067eff0c2b9e317da97488ff74c h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/staging/iio/adc/max1363_core.c | 20 +++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index 372bf6aadedb..c1811f930b49 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7959a7c477b5dd284bb424c9cfbf917ae1664272 +refs/heads/master: f88af7e7d338e067eff0c2b9e317da97488ff74c diff --git a/trunk/drivers/staging/iio/adc/max1363_core.c b/trunk/drivers/staging/iio/adc/max1363_core.c index 98cebd26310f..72b0917412ee 100644 --- a/trunk/drivers/staging/iio/adc/max1363_core.c +++ b/trunk/drivers/staging/iio/adc/max1363_core.c @@ -1255,12 +1255,15 @@ static int __devinit max1363_probe(struct i2c_client *client, struct regulator *reg; reg = regulator_get(&client->dev, "vcc"); - if (!IS_ERR(reg)) { - ret = regulator_enable(reg); - if (ret) - goto error_put_reg; + if (IS_ERR(reg)) { + ret = PTR_ERR(reg); + goto error_out; } + ret = regulator_enable(reg); + if (ret) + goto error_put_reg; + indio_dev = iio_allocate_device(sizeof(struct max1363_state)); if (indio_dev == NULL) { ret = -ENOMEM; @@ -1323,6 +1326,7 @@ static int __devinit max1363_probe(struct i2c_client *client, } return 0; + error_uninit_ring: iio_ring_buffer_unregister(indio_dev->ring); error_cleanup_ring: @@ -1335,12 +1339,10 @@ static int __devinit max1363_probe(struct i2c_client *client, else iio_device_unregister(indio_dev); error_disable_reg: - if (!IS_ERR(st->reg)) - regulator_disable(st->reg); + regulator_disable(reg); error_put_reg: - if (!IS_ERR(st->reg)) - regulator_put(st->reg); - + regulator_put(reg); +error_out: return ret; }