Re: [PATCH 3/3] pcf50633_charger: Enable periodic charging restart

From: Andrew Morton
Date: Mon Feb 02 2009 - 17:47:21 EST


On Tue, 27 Jan 2009 19:23:12 +0530
Balaji Rao <balajirrao@xxxxxxxxxxxx> wrote:

> @@ -157,6 +213,7 @@ pcf50633_mbc_irq_handler(int irq, void *data)
> mbc->usb_online = 0;
> mbc->usb_active = 0;
> pcf50633_mbc_usb_curlim_set(mbc->pcf, 0);
> + cancel_delayed_work_sync(&mbc->charging_restart_work);
> }

eek, can't call cancel_delayed_work_sync() from an interrupt handler!
If the work was actually running on this CPU or on a different one,
cancel_delayed_work_sync() will need to wait for it to complete. The
kernel will explode in many tinkly little pieces.

--
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/