diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2011-01-08 13:12:26 -0500 |
---|---|---|
committer | Lars-Peter Clausen <lars@metafoo.de> | 2011-02-22 00:47:52 -0500 |
commit | f722e17fdb2c97bbec2563636dd88489cdb1428b (patch) | |
tree | 10cc26fa54a4c5f05335df45019b3ae2213b48ad /drivers/power | |
parent | 6501f728c56f831626d52b236023e556bca37f51 (diff) |
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 <lars@metafoo.de>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/power_supply_sysfs.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/power/power_supply_sysfs.c b/drivers/power/power_supply_sysfs.c index cd1f90754a3a..605514afc29f 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) | |||
270 | attr = &power_supply_attrs[psy->properties[j]]; | 270 | attr = &power_supply_attrs[psy->properties[j]]; |
271 | 271 | ||
272 | ret = power_supply_show_property(dev, attr, prop_buf); | 272 | ret = power_supply_show_property(dev, attr, prop_buf); |
273 | if (ret == -ENODEV) { | 273 | if (ret == -ENODEV || ret == -ENODATA) { |
274 | /* When a battery is absent, we expect -ENODEV. Don't abort; | 274 | /* When a battery is absent, we expect -ENODEV. Don't abort; |
275 | send the uevent with at least the the PRESENT=0 property */ | 275 | send the uevent with at least the the PRESENT=0 property */ |
276 | ret = 0; | 276 | ret = 0; |