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

Ondřej Jirman megous at megous.com
Sat Oct 31 21:31:15 EDT 2020


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.

regards,
	o.



More information about the linux-arm-kernel mailing list