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

Russell King - ARM Linux linux at arm.linux.org.uk
Wed Jan 16 09:55:30 EST 2013


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().



More information about the linux-arm-kernel mailing list