Messages in this thread | | | Date | Sun, 17 Oct 2010 15:50:25 +0100 | From | Sitsofe Wheeler <> | Subject | Re: [PATCH] ACPI / Battery: Return -ENODATA for unknown values in get_property() |
| |
On Sun, Oct 17, 2010 at 11:10:16AM -0200, Henrique de Moraes Holschuh wrote: > On Sun, 17 Oct 2010, Sitsofe Wheeler wrote: > > > > Using ENODATA and ENXIO appears to solve the problem (upower reports a > > rate of 0.0). However when plugging the battery in after previously only > > being on AC power none of the /sys/class/power_supply/BAT0/uevent:* > > files are created so upower never realises a battery has been plugged > > You might have broken firmware that does not issue a notify when a battery > is plugged. But it has been a long time, I don't recall if the battery > driver handles hotplugging without the help of the dock/bay driver (it > should, AFAIK).
Battery hotplug works fine without these patches. I should have said - the uevent devices are there with a vanilla kernel no matter how many times the battery is plugged in or unplugged (that's how I knew they were missing with the patches added :) I am guessing some part of the kernel/udev cannot handle being told ENODATA or ENXIO and bails out before those nodes would be made.
> > in. A further issue with ENXIO is is the following repeatedly appears in > > dmesg: > > power_supply BAT0: driver failed to report `current_now' property > > And it keeps silent if it gets ENODATA?
Yes.
-- Sitsofe | http://sucs.org/~sits/
| |