hwmon: (w83627ehf) Fix a resource leak in probe
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 21 Sep 2020 12:52:12 +0000 (15:52 +0300)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 23 Sep 2020 16:40:33 +0000 (09:40 -0700)
Smatch has a new check for resource leaks which found a bug in probe:

    drivers/hwmon/w83627ehf.c:2417 w83627ehf_probe()
    warn: 'res->start' not released on lines: 2412.

We need to clean up if devm_hwmon_device_register_with_info() fails.

Fixes: 266cd5835947 ("hwmon: (w83627ehf) convert to with_info interface")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Dr. David Alan Gilbert <linux@treblig.org>
Link: https://lore.kernel.org/r/20200921125212.GA1128194@mwanda
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/w83627ehf.c

index 5a5120121e50725c49a39356ab613b72beb58c97..3964ceab2817cb83688ebd254e99fce2513e9ee1 100644 (file)
@@ -1951,8 +1951,12 @@ static int w83627ehf_probe(struct platform_device *pdev)
                                                         data,
                                                         &w83627ehf_chip_info,
                                                         w83627ehf_groups);
+       if (IS_ERR(hwmon_dev)) {
+               err = PTR_ERR(hwmon_dev);
+               goto exit_release;
+       }
 
-       return PTR_ERR_OR_ZERO(hwmon_dev);
+       return 0;
 
 exit_release:
        release_region(res->start, IOREGION_LENGTH);