From: Sitsofe Wheeler <sitsofe@yahoo.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Henrique de Moraes Holschuh <hmh@hmh.eng.br>,
Matthew Garrett <mjg59@srcf.ucam.org>,
Len Brown <lenb@kernel.org>, Zhang Rui <rui.zhang@intel.com>,
David Zeuthen <davidz@redhat.com>,
Richard Hughes <richard@hughsie.com>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ACPI / Battery: Return -ENODATA for unknown values in get_property()
Date: Sat, 23 Oct 2010 16:36:37 +0100 [thread overview]
Message-ID: <20101023153637.GA8994@sucs.org> (raw)
In-Reply-To: <201010230019.14100.rjw@sisk.pl>
On Sat, Oct 23, 2010 at 12:19:13AM +0200, Rafael J. Wysocki wrote:
>
> OK, so can you test the patch below, please?
The latest patch seems to fix/workaround the problem. upower now reports
0 as the energy rate, there are no warnings in dmesg and battery hotplug
works. Looks good and there's the option for a future upower to
interpret the missing sysfs as meaning "unknown".
Tested-by: Sitsofe Wheeler <sitsofe@yahoo.com>
> 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, wron negative
wron -> wrong?
> 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()).
OK that's sneaky and clever - technically power_supply_uevent should be
more robust but presumably things are already prepared to handle -ENODEV
so overloading the meaning leads to the smallest change.
--
Sitsofe | http://sucs.org/~sits/
next prev parent reply other threads:[~2010-10-23 15:37 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-16 14:13 Returning ACPI_BATTERY_VALUE_UNKNOWN to userspace Sitsofe Wheeler
2010-10-16 23:05 ` [PATCH] ACPI / Battery: Return -ENODATA for unknown values in get_property() (was: Re: Returning ACPI_BATTERY ...) Rafael J. Wysocki
2010-10-17 5:19 ` Henrique de Moraes Holschuh
2010-10-17 9:59 ` [PATCH] ACPI / Battery: Return -ENODATA for unknown values in get_property() Sitsofe Wheeler
2010-10-17 13:10 ` Henrique de Moraes Holschuh
2010-10-17 14:50 ` Sitsofe Wheeler
2010-10-17 18:32 ` Rafael J. Wysocki
2010-10-21 16:54 ` Sitsofe Wheeler
2010-10-21 19:57 ` Rafael J. Wysocki
2010-10-21 20:46 ` Sitsofe Wheeler
2010-10-22 22:19 ` Rafael J. Wysocki
2010-10-23 15:36 ` Sitsofe Wheeler [this message]
2010-10-23 17:31 ` Rafael J. Wysocki
2010-10-22 12:31 ` Richard Hughes
2010-10-23 15:43 ` Sitsofe Wheeler
2010-10-25 13:17 ` Pavel Machek
2010-10-25 20:36 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101023153637.GA8994@sucs.org \
--to=sitsofe@yahoo.com \
--cc=davidz@redhat.com \
--cc=hmh@hmh.eng.br \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mjg59@srcf.ucam.org \
--cc=richard@hughsie.com \
--cc=rjw@sisk.pl \
--cc=rui.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).