diff options
authorMiquel Raynal <miquel.raynal@free-electrons.com>2017-10-16 14:12:10 +0200
committerGuenter Roeck <linux@roeck-us.net>2017-10-29 18:36:03 -0700
commit534e28d876926669bba0dc31519a0b0026f3dfcb (patch)
parent9de382fddf18f673436f1058d822e1236a0b4c2a (diff)
hwmon: (gpio-fan) Fix null pointer dereference at probe
A previous commit changed the argument list of gpio_fan_get_of_data(), removing the "struct *dev" argument and retrieving it instead from the gpio_fan_data structure. The "dev" entry of gpio_fan_data was then dereferenced to access the of_node field, leading to a kernel panic during the probe as the "dev" entry of the gpio_fan_data structure was not filled yet. Fix this by setting fan_data->dev before calling gpio_fan_get_of_data(). Fixes: 5859d8d30737 ("hwmon: (gpio-fan) Get rid of platform data struct") Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hwmon/gpio-fan.c b/drivers/hwmon/gpio-fan.c
index 43b697380987..5c9a52599cf6 100644
--- a/drivers/hwmon/gpio-fan.c
+++ b/drivers/hwmon/gpio-fan.c
@@ -510,11 +510,11 @@ static int gpio_fan_probe(struct platform_device *pdev)
if (!fan_data)
return -ENOMEM;
+ fan_data->dev = dev;
err = gpio_fan_get_of_data(fan_data);
if (err)
return err;
- fan_data->dev = dev;
platform_set_drvdata(pdev, fan_data);

Privacy Policy