Commit f1b930e7 authored by Dan Carpenter's avatar Dan Carpenter Committed by Rafael J. Wysocki

thermal: intel: quark_dts: fix error pointer dereference

If alloc_soc_dts() fails, then we can just return.  Trying to free
"soc_dts" will lead to an Oops.

Fixes: 8c187693 ("thermal: intel Quark SoC X1000 DTS thermal driver")
Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 1b72607d
...@@ -400,22 +400,14 @@ MODULE_DEVICE_TABLE(x86cpu, qrk_thermal_ids); ...@@ -400,22 +400,14 @@ MODULE_DEVICE_TABLE(x86cpu, qrk_thermal_ids);
static int __init intel_quark_thermal_init(void) static int __init intel_quark_thermal_init(void)
{ {
int err = 0;
if (!x86_match_cpu(qrk_thermal_ids) || !iosf_mbi_available()) if (!x86_match_cpu(qrk_thermal_ids) || !iosf_mbi_available())
return -ENODEV; return -ENODEV;
soc_dts = alloc_soc_dts(); soc_dts = alloc_soc_dts();
if (IS_ERR(soc_dts)) { if (IS_ERR(soc_dts))
err = PTR_ERR(soc_dts); return PTR_ERR(soc_dts);
goto err_free;
}
return 0; return 0;
err_free:
free_soc_dts(soc_dts);
return err;
} }
static void __exit intel_quark_thermal_exit(void) static void __exit intel_quark_thermal_exit(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment