On 20.11.2018 3:26, Douglas Anderson wrote: > In regulator_force_disable() there was a strange loop that looked like: > > while (rdev->open_count--) > regulator_disable(rdev->supply); > > I'm not totally sure what the goal was for this loop, but it seems > wrong to me. If anything I think maybe we should have been looping > over our use_count, but even that might be a little strange. For now > let's just remove the code and we can add something back in if someone > can explain what's expected. > > Fixes: f8702f9e4aa7 ("regulator: core: Use ww_mutex for regulators locking") Seems this "fixes" tag is incorrect, isn't it? The "ww_mutex" patch didn't touch this code. > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> > --- > > drivers/regulator/core.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c > index 2eda87520832..963081aba17a 100644 > --- a/drivers/regulator/core.c > +++ b/drivers/regulator/core.c > @@ -2738,10 +2738,6 @@ int regulator_force_disable(struct regulator *regulator) > > regulator_unlock_dependent(rdev, &ww_ctx); > > - if (rdev->supply) > - while (rdev->open_count--) > - regulator_disable(rdev->supply); > - > return ret; > } > EXPORT_SYMBOL_GPL(regulator_force_disable); >