Remove sysfs entries before return -ENODEV. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> --- drivers/hwmon/gpio-fan.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/hwmon/gpio-fan.c b/drivers/hwmon/gpio-fan.c index aa701a1..d2e66b4 100644 --- a/drivers/hwmon/gpio-fan.c +++ b/drivers/hwmon/gpio-fan.c @@ -388,11 +388,13 @@ static int fan_ctrl_init(struct gpio_fan_data *fan_data, fan_data->speed_index = get_fan_speed_index(fan_data); if (fan_data->speed_index < 0) { err = -ENODEV; - goto err_free_gpio; + goto err_remove_sysfs; } return 0; +err_remove_sysfs: + sysfs_remove_group(&pdev->dev.kobj, &gpio_fan_ctrl_group); err_free_gpio: for (i = i - 1; i >= 0; i--) gpio_free(ctrl[i]); -- 1.7.2 _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors