On Friday 03 April 2009, Azam Ansari wrote:
> static irqreturn_t vpfe_motion_isr(int irq, void *dev_id, struct pt_regs
> *regs)
> {
> vpfe_obj *vpfe = &vpfe_device;
>
> tasklet_schedule(&motion_night_isr_work);
>
> return IRQ_RETVAL(1);
Make that IRQ_HANDLED ... and don't bother with "vpfe".
> }
>
> In tasklet I do I2C Write and then I2C Read to get detection information and
> based on the detection information I wake-up the thread. But I get kernel
> panic error.
That's the problem. Tasklets can't issue I2C calls,
since they can't sleep. Don't use a tasklet.
Instead, use a workqueue.
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source