diff options
author | Corentin LABBE <clabbe.montjoie@gmail.com> | 2016-08-16 11:51:38 +0300 |
---|---|---|
committer | Zhang Rui <rui.zhang@intel.com> | 2016-08-19 16:34:08 +0300 |
commit | 829bc78aa7628e81a9de717316b85cbee3c5eb86 (patch) | |
tree | b6244357a24210b67181e3c76a1594967d7eec1a /drivers/thermal/imx_thermal.c | |
parent | 55f2ac33adc78d429c470c9ca05e18c36dc24922 (diff) | |
download | linux-829bc78aa7628e81a9de717316b85cbee3c5eb86.tar.xz |
thermal: imx: fix a possible NULL dereference
of_match_device could return NULL, and so cause a NULL pointer
dereference later at line 472:
data->socdata = of_id->data;
For fixing this problem, we use of_device_get_match_data(), this will
simplify the code a little by using a standard function for
getting the match data.
Reported-by: coverity (CID 1324128)
Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Diffstat (limited to 'drivers/thermal/imx_thermal.c')
-rw-r--r-- | drivers/thermal/imx_thermal.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c index c5547bd711db..e473548b5d28 100644 --- a/drivers/thermal/imx_thermal.c +++ b/drivers/thermal/imx_thermal.c @@ -471,8 +471,6 @@ MODULE_DEVICE_TABLE(of, of_imx_thermal_match); static int imx_thermal_probe(struct platform_device *pdev) { - const struct of_device_id *of_id = - of_match_device(of_imx_thermal_match, &pdev->dev); struct imx_thermal_data *data; struct regmap *map; int measure_freq; @@ -490,7 +488,7 @@ static int imx_thermal_probe(struct platform_device *pdev) } data->tempmon = map; - data->socdata = of_id->data; + data->socdata = of_device_get_match_data(&pdev->dev); /* make sure the IRQ flag is clear before enabling irq on i.MX6SX */ if (data->socdata->version == TEMPMON_IMX6SX) { |