[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d9e56d6fb6a31ecbd024cfe81e331817fa492331.camel@mediatek.com>
Date: Fri, 23 Sep 2022 14:38:43 +0800
From: Jia-Wei Chang <jia-wei.chang@...iatek.com>
To: Viresh Kumar <viresh.kumar@...aro.org>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>
CC: <rafael@...nel.org>, <lgirdwood@...il.com>, <broonie@...nel.org>,
<matthias.bgg@...il.com>, <andrew-sh.cheng@...iatek.com>,
<rex-bc.chen@...iatek.com>, <nfraprado@...labora.com>,
<linux-pm@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-mediatek@...ts.infradead.org>
Subject: Re: [PATCH] cpufreq: mediatek: Fix KP and lockups on proc/sram
regulators error
On Wed, 2022-09-21 at 12:49 +0530, Viresh Kumar wrote:
> Jia, do you want to reply to this thread as the Fixes patch was added
> by you ?
>
> On 09-09-22, 11:37, AngeloGioacchino Del Regno wrote:
> > Function regulator_get_optional() returns a negative error number
> > on
> > any kind of regulator_get() failure: failing to check for that in
> > the
> > teardown path will lead to a kernel panic due to a call to function
> > regulator_disable().
>
> I don't see how this can happen. The code does check if the
> regulators
> are enabled earlier or not.
>
Hi Angelo,
Could you help provide more details, like the call stack of kernel
panic? and how to reproduce this failure?
> > Besides that, the "proc" regulator does actually provide power to
> > the
> > CPU cluster(s): disabling it will produce a lockup on at least some
> > SoCs, such as MT8173.
>
> We are just dropping the count that we increased earlier, how will
> that disable the regulator which was already enabled ?
>
> > That consideration is also valid for the "sram" regulator,
> > providing
> > power to the CPU caches instead, present on some other SoCs, such
> > as
> > MT8183, MT8186 (and others).
> >
> > Resolve both situations and by simply removing the entire faulty
> > branches responsible for disabling the aforementioned regulators if
> > enabled, keeping in mind that these are enabled (and left enabled)
> > by the bootloader before booting the kernel.
>
> This looks fishy, we just keep on increasing the ref count of the
> regulator but never take it down.
>
Angelo,
Do you mean the ref count of the regulator in the kernel will be
affected if that regulator is enabled earlier in the bootloader?
Thanks.
Powered by blists - more mailing lists