From: Rafael J. Wysocki Date: Sat, 23 Oct 2010 17:35:15 +0000 (+0200) Subject: ACPI / Battery: Return -ENODEV for unknown values in get_property() X-Git-Tag: v2.6.37-rc1~100^2~8^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a1b4bd694a803eba49d637de32bb249638ceadb4;p=pandora-kernel.git 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 Signed-off-by: Rafael J. Wysocki Signed-off-by: Len Brown --- Reading git-diff-tree failed