This patch fixed the following two problems. 1. When the feature PTS is not supported by CPU, the sysfile package_power_limit_count for package should not be generated. 2. No matter whether a sysfile is failed to be created or not, the next one will be created. As the resolving methods: 1. Add missing { and } after checking PTS feature. 2. Fix the error handling. Signed-off-by: Jin Dongming <jin.dongming@xxxxxxxxxxxxxxxxxx> Reviewed-by: Fenghua Yu <fenghua.yu@xxxxxxxxxx> --- arch/x86/kernel/cpu/mcheck/therm_throt.c | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c index d9368ee..79d563a 100644 --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c @@ -216,14 +216,27 @@ static __cpuinit int thermal_throttle_add_dev(struct sys_device *sys_dev, err = sysfs_add_file_to_group(&sys_dev->kobj, &attr_core_power_limit_count.attr, thermal_attr_group.name); - if (cpu_has(c, X86_FEATURE_PTS)) + if (err) + goto error; + + if (cpu_has(c, X86_FEATURE_PTS)) { err = sysfs_add_file_to_group(&sys_dev->kobj, &attr_package_throttle_count.attr, thermal_attr_group.name); + if (err) + goto error; + if (cpu_has(c, X86_FEATURE_PLN)) err = sysfs_add_file_to_group(&sys_dev->kobj, &attr_package_power_limit_count.attr, thermal_attr_group.name); + if (err) + goto error; + } + + return 0; +error: + sysfs_remove_group(&sys_dev->kobj, &thermal_attr_group); return err; } -- 1.7.1.1 _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors