Re: [PATCH v6 04/22] mfd: omap-usb-tll: Clean up clock handling
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
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