* [lm-sensors] [PATCH] hwmon: Fix freeing of gpio_data and irq
@ 2009-08-22 14:00 Roel Kluin
2009-08-23 15:17 ` Jonathan Cameron
0 siblings, 1 reply; 2+ messages in thread
From: Roel Kluin @ 2009-08-22 14:00 UTC (permalink / raw)
To: lm-sensors
If already requested, gpio_data and irq should be freed in
the case of an error.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
---
please review, especially the added free_irq(): are its
arguments ok like this?
diff --git a/drivers/hwmon/sht15.c b/drivers/hwmon/sht15.c
index 6290a25..303c026 100644
--- a/drivers/hwmon/sht15.c
+++ b/drivers/hwmon/sht15.c
@@ -562,7 +562,7 @@ static int __devinit sht15_probe(struct platform_device *pdev)
ret = sysfs_create_group(&pdev->dev.kobj, &sht15_attr_group);
if (ret) {
dev_err(&pdev->dev, "sysfs create failed");
- goto err_free_data;
+ goto err_release_gpio_data;
}
ret = request_irq(gpio_to_irq(data->pdata->gpio_data),
@@ -581,10 +581,12 @@ static int __devinit sht15_probe(struct platform_device *pdev)
data->hwmon_dev = hwmon_device_register(data->dev);
if (IS_ERR(data->hwmon_dev)) {
ret = PTR_ERR(data->hwmon_dev);
- goto err_release_gpio_data;
+ goto err_release_irq;
}
return 0;
+err_release_irq:
+ free_irq(gpio_to_irq(data->pdata->gpio_data), data);
err_release_gpio_data:
gpio_free(data->pdata->gpio_data);
err_release_gpio_sck:
_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [lm-sensors] [PATCH] hwmon: Fix freeing of gpio_data and irq
2009-08-22 14:00 [lm-sensors] [PATCH] hwmon: Fix freeing of gpio_data and irq Roel Kluin
@ 2009-08-23 15:17 ` Jonathan Cameron
0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Cameron @ 2009-08-23 15:17 UTC (permalink / raw)
To: lm-sensors
Hi Roel,
> If already requested, gpio_data and irq should be freed in
> the case of an error.
All looks good to me. Good spot in both cases, thanks.
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Andrew, can you push these through as fixes?
You'd be pretty unlucky to hit either of them, but better
safe than sorry.
Thanks
>
> Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
> ---
> please review, especially the added free_irq(): are its
> arguments ok like this?
Yup, same as in the remove function and given irq is disabled
anyway at that point all should be fine.
>
> diff --git a/drivers/hwmon/sht15.c b/drivers/hwmon/sht15.c
> index 6290a25..303c026 100644
> --- a/drivers/hwmon/sht15.c
> +++ b/drivers/hwmon/sht15.c
> @@ -562,7 +562,7 @@ static int __devinit sht15_probe(struct platform_device *pdev)
> ret = sysfs_create_group(&pdev->dev.kobj, &sht15_attr_group);
> if (ret) {
> dev_err(&pdev->dev, "sysfs create failed");
> - goto err_free_data;
> + goto err_release_gpio_data;
> }
>
> ret = request_irq(gpio_to_irq(data->pdata->gpio_data),
> @@ -581,10 +581,12 @@ static int __devinit sht15_probe(struct platform_device *pdev)
> data->hwmon_dev = hwmon_device_register(data->dev);
> if (IS_ERR(data->hwmon_dev)) {
> ret = PTR_ERR(data->hwmon_dev);
> - goto err_release_gpio_data;
> + goto err_release_irq;
> }
> return 0;
>
> +err_release_irq:
> + free_irq(gpio_to_irq(data->pdata->gpio_data), data);
> err_release_gpio_data:
> gpio_free(data->pdata->gpio_data);
> err_release_gpio_sck:
_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-08-23 15:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-22 14:00 [lm-sensors] [PATCH] hwmon: Fix freeing of gpio_data and irq Roel Kluin
2009-08-23 15:17 ` Jonathan Cameron
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.