Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c573ddb998456a89a5ccb83a922d2c8ba18484a6 Commit: c573ddb998456a89a5ccb83a922d2c8ba18484a6 Parent: ca4ac2f48a4502bbbfcb47b86312273c28194f53 Author: Henrique de Moraes Holschuh <[EMAIL PROTECTED]> AuthorDate: Fri Apr 27 22:00:12 2007 -0300 Committer: Len Brown <[EMAIL PROTECTED]> CommitDate: Sat Apr 28 21:41:19 2007 -0400
ACPI: thinkpad-acpi: map ENXIO to EINVAL for fan sysfs Currently, all fan control operations return ENXIO if unsupported operations are requested, but return EINVAL if invalid fan modes are requested on a given ThinkPad. This is not strictly correct for sysfs, so map ENXIO to EINVAL in the sysfs attribute store handlers, as we do benefit from the ENXIO in other parts of the driver code. Signed-off-by: Henrique de Moraes Holschuh <[EMAIL PROTECTED]> Signed-off-by: Len Brown <[EMAIL PROTECTED]> --- drivers/misc/thinkpad_acpi.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/misc/thinkpad_acpi.c b/drivers/misc/thinkpad_acpi.c index b85f096..7aed118 100644 --- a/drivers/misc/thinkpad_acpi.c +++ b/drivers/misc/thinkpad_acpi.c @@ -2824,7 +2824,9 @@ static ssize_t fan_pwm1_enable_store(struct device *dev, } res = fan_set_level_safe(level); - if (res < 0) + if (res == -ENXIO) + return -EINVAL; + else if (res < 0) return res; fan_watchdog_reset(); @@ -2888,7 +2890,9 @@ static ssize_t fan_pwm1_store(struct device *dev, if (!rc && (status & (TP_EC_FAN_AUTO | TP_EC_FAN_FULLSPEED)) == 0) { rc = fan_set_level(newlevel); - if (!rc) { + if (rc == -ENXIO) + rc = -EINVAL; + else if (!rc) { fan_update_desired_level(newlevel); fan_watchdog_reset(); } - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html