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

2013-01-16 Thread Russell King - ARM Linux
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().
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2013-01-16 Thread Roger Quadros
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.
--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html