Re: [BUG] Error applying setting, reverse things back on lot of devices

From: Corentin Labbe
Date: Mon Nov 02 2020 - 02:40:31 EST


On Sun, Nov 01, 2020 at 02:31:15AM +0100, Ondřej Jirman wrote:
> Hello Michał,
>
> On Sat, Oct 24, 2020 at 01:53:07PM +0200, Michał Mirosław wrote:
> > On Fri, Oct 23, 2020 at 10:39:43PM +0200, Corentin Labbe wrote:
> > > On Fri, Oct 23, 2020 at 03:42:01PM +0200, Corentin Labbe wrote:
> > > > On Wed, Oct 21, 2020 at 08:31:49PM +0200, Corentin Labbe wrote:
> > > > > [ 5.796585] dcdc4: supplied by regulator-dummy
> > > > > [ 5.801647] vcc-dram: supplied by regulator-dummy
> > > > > [ 5.806470] vcc-gmac-phy: failed to get the current voltage: -EINVAL
> > > > > [ 5.812839] axp20x-regulator axp20x-regulator: Failed to register dc1sw
> > > > > [ 5.820291] axp20x-regulator: probe of axp20x-regulator failed with error -22
> > > >
> > > > I have just saw thoses 3 lines which are probably the real problem.
> > > > I have started a new bisect with this error, but it is hitting the same "crash range" the first one.
> > > >
> > >
> > > I have bisected the problem to commit aea6cb99703e17019e025aa71643b4d3e0a24413 ("regulator: resolve supply after creating regulator")
> > > Reverting this fix my problem.
> >
> > Can you try the hack below?
> >
> > Best Regards,
> > Michał Mirosław
> >
> > diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
> > index a4ffd71696da..9ad091f5f1ab 100644
> > --- a/drivers/regulator/core.c
> > +++ b/drivers/regulator/core.c
> > @@ -1169,6 +1169,9 @@ static int machine_constraints_voltage(struct regulator_dev *rdev,
> > }
> >
> > if (current_uV < 0) {
> > + if (current_uV == -EINVAL && rdev->supply_name)
> > + return -EPROBE_DEFER;
> > +
> > rdev_err(rdev,
> > "failed to get the current voltage: %pe\n",
> > ERR_PTR(current_uV));
>
> I did hit the same problem on sun8i-a83t-tbs-a711.dts tablet.
>
> The patch helps on top of v5.9.2, and on linus/master.
>

Hello

Sorry I didnt get your original email.

Tested on top of next-20201030.
I have added a debug """rdev_info(rdev, "%s DEFER\n", __func__);""" and I confirm this hack is used since I got "vcc-gmac-phy: machine_constraints_voltage DEFER"

So if you send the patch you can add:
Tested-by: Corentin Labbe <clabbe.montjoie@xxxxxxxxx>
Tested-on: sun8i-r40-bananapi-m2-ultra

Regards