diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2010-10-23 19:35:15 +0200 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-10-23 14:05:03 -0400 |
commit | a1b4bd694a803eba49d637de32bb249638ceadb4 (patch) | |
tree | 30b3b4efbf394b8cd500b694c80485561a6827ab /drivers/ieee1394 | |
parent | f6f94e2ab1b33f0082ac22d71f66385a60d8157f (diff) |
ACPI / Battery: Return -ENODEV for unknown values in get_property()
The function acpi_battery_get_property() is called by the
power supply framework's function power_supply_show_property()
implementing the sysfs interface for power supply devices as the
ACPI battery driver's ->get_property() callback. Thus it is supposed
to return error code if the value of the given property is unknown.
Unfortunately, however, it returns 0 in those cases and puts a
wrong (negative) value into the intval field of the
union power_supply_propval object provided by
power_supply_show_property(). In consequence, wrong negative
values are read by user space from the battery's sysfs files.
Fix this by making acpi_battery_get_property() return -ENODEV
for properties with unknown values (-ENODEV is returned, because
power_supply_uevent() returns with error for any other error code
returned by power_supply_show_property()).
Reported-and-tested-by: Sitsofe Wheeler <sitsofe@yahoo.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/ieee1394')
0 files changed, 0 insertions, 0 deletions