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


Reply via email to