From c0aa5f1515fde6b33fab33c61b4ba6447eee44f5 Mon Sep 17 00:00:00 2001 From: Guenter Roeck Date: Mon, 24 Dec 2012 06:24:00 +0000 Subject: [PATCH] --- yaml --- r: 348719 b: refs/heads/master c: 678fb42e2b2c815c3475884017aac4da22124d0d h: refs/heads/master i: 348717: f15b3e42a8e6e13e1c34bb059b0f620cd08596fd 348715: 2e80b04312a0aed96a9d3c046d7ab55d8814cf2a 348711: c202c15b95bb063fedf836ae5d55811142849dfc 348703: 326cc3ae5e657a967cf15903c1336f6bc8566f01 v: v3 --- [refs] | 2 +- trunk/drivers/iio/adc/max1363.c | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index f9b971c118e0..132158a9e7e3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 13e57ee2056221296f1926d49d00edd224058bea +refs/heads/master: 678fb42e2b2c815c3475884017aac4da22124d0d diff --git a/trunk/drivers/iio/adc/max1363.c b/trunk/drivers/iio/adc/max1363.c index 1e84b5b55093..31f3485303d0 100644 --- a/trunk/drivers/iio/adc/max1363.c +++ b/trunk/drivers/iio/adc/max1363.c @@ -1605,19 +1605,20 @@ static int __devinit max1363_probe(struct i2c_client *client, return 0; error_free_irq: - free_irq(st->client->irq, indio_dev); + if (client->irq) + free_irq(st->client->irq, indio_dev); error_uninit_buffer: iio_buffer_unregister(indio_dev); error_cleanup_buffer: max1363_buffer_cleanup(indio_dev); error_free_available_scan_masks: kfree(indio_dev->available_scan_masks); -error_unregister_map: - iio_map_array_unregister(indio_dev, client->dev.platform_data); error_disable_reg: regulator_disable(st->reg); error_put_reg: regulator_put(st->reg); +error_unregister_map: + iio_map_array_unregister(indio_dev, client->dev.platform_data); error_free_device: iio_device_free(indio_dev); error_out: @@ -1635,10 +1636,8 @@ static int __devexit max1363_remove(struct i2c_client *client) iio_buffer_unregister(indio_dev); max1363_buffer_cleanup(indio_dev); kfree(indio_dev->available_scan_masks); - if (!IS_ERR(st->reg)) { - regulator_disable(st->reg); - regulator_put(st->reg); - } + regulator_disable(st->reg); + regulator_put(st->reg); iio_map_array_unregister(indio_dev, client->dev.platform_data); iio_device_free(indio_dev);