Re: [PATCH] ACPI / Battery: Return -ENODATA for unknown values inget_property()

From: Sitsofe Wheeler
Date: Sun Oct 17 2010 - 10:51:08 EST


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/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/