[PATCH][RFC] ASoC: rsnd: don't call clk_disable_unprepare() if can't use

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Thu Dec 17 01:20:25 CET 2020


Hi Geert, Mark

> > Reported-by: Geert Uytterhoeven <geert at linux-m68k.org>
> 
> Feel free to use geert+renesas at glider.be instead ;-)

OK, will do

> The patch looks good to me, but I also cannot trigger the issue at will.
> I went through my old boot logs, and found 2 other occurrences, also
> on Ebisu.  In all cases, it happened while a lot of output was printed to
> the serial console (either a WARN() splat, or DEBUG_PINCTRL output).
> My guess is that console output or disabling interrupts too long is
> triggering a race condition or other issue in the i2c driver (clk 1 is the
> cs2000 clock generator, controlled through i2c).

OK, Thanks, nice to know.
It was rare case issue, difficult to find :)

> >                 } else {
> > -                       clk_disable_unprepare(clk);
> > +                       if (adg->clk_rate[i])
> > +                               clk_disable_unprepare(clk);
> 
> As pointed out by Mark, you may want to clear adg->clk_rate[i] here?

I thought we can re-get clock if we could get clock once.
But we shouldn't assume it.
Will fix it in v2.

Thank you for your help !!

Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list