Re: [PATCH V2 5/6] Thermal: Add ST-Ericsson DB8500 thermal dirver.

From: Viresh Kumar
Date: Thu Oct 25 2012 - 06:11:46 EST


On 25 October 2012 15:34, Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote:
> On 25 October 2012 15:26, Hongbo Zhang <hongbo.zhang@xxxxxxxxxx> wrote:

This is what your prcmu driver's routines are doing:

int db8500_prcmu_config_hotmon(u8 low, u8 high)
{
...
wait_for_completion(&mb4_transfer.work);
...
return 0;
}

This is why others in STE have used threaded_irqs... Because the
routine you guys call from interrupt handlers actually sleeps.

So, they can't be called from interrupt context.

I wanted you to knew this :)

Its okay now, you need to use threaded irq only and you can't use
normal request_irq(). Its not that you want to make things fast that's why
you used threaded irqs... If you try to sleep from interrupt context
(i.e. if you
have registered your handler with request_irq()), you will see a kernel crash.

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