[PATCH v6 04/22] mfd: omap-usb-tll: Clean up clock handling

Roger Quadros rogerq at ti.com
Wed Jan 16 10:05:49 EST 2013


On 01/16/2013 04:55 PM, Russell King - ARM Linux wrote:
> On Wed, Jan 16, 2013 at 04:43:35PM +0200, Roger Quadros wrote:
>> +	spin_lock_irqsave(&tll->lock, flags);
>> +
>> +	for (i = 0; i < tll->nch; i++) {
>> +		char clkname[] = "usb_tll_hs_usb_chx_clk";
>> +		struct clk *fck;
>> +
>> +		snprintf(clkname, sizeof(clkname),
>> +					"usb_tll_hs_usb_ch%d_clk", i);
>> +		fck = clk_get(dev, clkname);
> 
> NAK.  Why are you doing this under a spinlock?
> 
> clk_get() takes a mutex.  You must not be in an atomic region (iow, you
> must not be holding a spinlock, and you must not have IRQs disabled)
> when you call clk_get().
> 
Right. Good catch :).

--
cheers,
-roger.



More information about the linux-arm-kernel mailing list