mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-18 10:56:12 +07:00
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 <hmh@hmh.eng.br> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
ca4ac2f48a
commit
c573ddb998
@ -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();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user