From: Lars-Peter Clausen Date: Sat, 8 Jan 2011 18:12:26 +0000 (+0100) Subject: power_supply: Ignore -ENODATA errors when generating uevents X-Git-Tag: v2.6.39-rc1~56^2~10^2~15 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f722e17fdb2c97bbec2563636dd88489cdb1428b;p=profile%2Fivi%2Fkernel-adaptation-intel-automotive.git power_supply: Ignore -ENODATA errors when generating uevents Sometimes a driver can not report a meaningful value for a certain property and returns -ENODATA. Currently when generating a uevent and a property return -ENODATA it is treated as an error an no uevent is generated at all. This is not an desirable behavior. This patch adds a special case for -ENODATA and ignores properties which return this error code when generating the uevent. Signed-off-by: Lars-Peter Clausen Tested-by: Grazvydas Ignotas --- diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c index cd1f907..605514a 100644 --- a/drivers/power/power_supply_sysfs.c +++ b/drivers/power/power_supply_sysfs.c @@ -270,7 +270,7 @@ int power_supply_uevent(struct device *dev, struct kobj_uevent_env *env) attr = &power_supply_attrs[psy->properties[j]]; ret = power_supply_show_property(dev, attr, prop_buf); - if (ret == -ENODEV) { + if (ret == -ENODEV || ret == -ENODATA) { /* When a battery is absent, we expect -ENODEV. Don't abort; send the uevent with at least the the PRESENT=0 property */ ret = 0;