On Tue, 9 Nov 2010 16:22:02 +0800, Axel Lin wrote: > 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. > */ Oops, my bad. I should have read the comments before blaming the author :( -- Jean Delvare _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors