Re: [PATCH V2 2/2] mmc: tegra: Fix setting of Tegra SDHCI module clock

From: Thierry Reding
Date: Mon Mar 20 2017 - 12:53:07 EST


On Fri, Mar 17, 2017 at 09:25:32AM +0000, Jon Hunter wrote:
> Commit a8e326a911d3 ("mmc: tegra: implement module external clock change")
> implemented the SDHCI 'set_clock' handler for Tegra in order to change
> the module clock for the Tegra SDHCI controller by using the common
> clock framework API clk_set_rate(). The problem is the clk_set_rate()
> may sleep and the 'set_clock' handler is always called from within the
> context of a spinlock. Hence, occasionally, 'scheduling while atomic'
> errors are seen. Fix this by moving the setting of the module clock to
> the new 'set_parent_clock' handler which is not called from within the
> context of a spinlock.
>
> Fixes: a8e326a911d3 ("mmc: tegra: implement module external clock change")
>
> Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx>
> ---
>
> Changes since V1:
> - None
>
> drivers/mmc/host/sdhci-tegra.c | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)

Reviewed-by: Thierry Reding <treding@xxxxxxxxxx>

Attachment: signature.asc
Description: PGP signature