2010/11/9 Jean Delvare <khali@xxxxxxxxxxxx>: > On Tue, 09 Nov 2010 13:18:39 +0800, Axel Lin wrote: >> 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]); > > Oh, and while you're here, fan_alarm_init() needs some love as well. > There's a "return 0" in the middle which clearly can't be correct. I think this part is correct. see the comment: /* * If the alarm GPIO don't support interrupts, just leave * without initializing the fail notification support. */ Regards, Axel > > -- > Jean Delvare > _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors