Hi,
Daniel Willmann wrote:
On Thu, 23 Apr 2009 10:13:31 +0200
Michael Trimarchi <[email protected]> wrote:
Daniel Willmann wrote:
diff --git a/drivers/power/bq27000_battery.c
b/drivers/power/bq27000_battery.c index bc3856e..c42211a 100644
--- a/drivers/power/bq27000_battery.c
+++ b/drivers/power/bq27000_battery.c
@@ -172,6 +172,7 @@ static void
bq27000_battery_external_power_changed(struct power_supply *psy) {
struct bq27000_device_info *di = container_of(psy, struct
bq27000_device_info, bat);
+ power_supply_changed(&di->bat);
Are you sure that you can call that funtion from there?
At least it didn't have any immediate side effects and did what I
wanted (immediately updates the charging status). The stable branch has
exactly this call in there which is where I got the idea.
What driver?
dev_dbg(di->dev, "%s\n", __FUNCTION__);
}
I send a different fix... Can you test?
I will test later today, first I have to take care of taxes...
I looked briefly at schedule_delayed_work and it seems like you
shouldn't queue a struct delayed_work more than once.
(See BUG_ON(time_pending(timer)); at
http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/kernel/workqueue.c#L236)
Yes if it is on the queue it don't add a new one because is pending,
what is the problem?
I'm not sure if I'm reading this correctly though.
Regards,
Daniel Willmann