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>
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);
mutex_init(&fan_data->lock);