of_device_get_match_data could return NULL, and so can cause
a NULL pointer dereference later.

Signed-off-by: Shailendra Verma <shailendr...@samsung.com>
---
 drivers/thermal/imx_thermal.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/thermal/imx_thermal.c b/drivers/thermal/imx_thermal.c
index 06912f0..fb648a4 100644
--- a/drivers/thermal/imx_thermal.c
+++ b/drivers/thermal/imx_thermal.c
@@ -489,6 +489,10 @@ static int imx_thermal_probe(struct platform_device *pdev)
        data->tempmon = map;
 
        data->socdata = of_device_get_match_data(&pdev->dev);
+       if (!data->socdata) {
+               dev_err(&pdev->dev, "no device match found\n");
+               return -ENODEV;
+       }
 
        /* make sure the IRQ flag is clear before enabling irq on i.MX6SX */
        if (data->socdata->version == TEMPMON_IMX6SX) {
-- 
1.7.9.5

Reply via email to