On Fri, Dec 06, 2019 at 03:53:00PM +0800, Chuhong Yuan wrote: > The driver forgets to call regulator_bulk_disable() in remove like that > in probe failure. > Add the missed call to fix it. > > Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx> > --- > sound/soc/codecs/wm5100.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/sound/soc/codecs/wm5100.c b/sound/soc/codecs/wm5100.c > index 91cc63c5a51f..d985b2061169 100644 > --- a/sound/soc/codecs/wm5100.c > +++ b/sound/soc/codecs/wm5100.c > @@ -2653,6 +2653,8 @@ static int wm5100_i2c_remove(struct i2c_client *i2c) > gpio_set_value_cansleep(wm5100->pdata.ldo_ena, 0); > gpio_free(wm5100->pdata.ldo_ena); > } > + regulator_bulk_disable(ARRAY_SIZE(wm5100->core_supplies), > + wm5100->core_supplies); > This is a bit trickier than this since these regulators are being controlled by PM runtime, and it doesn't necessarily leave things in an enabled state when it is disabled. Thanks, Charles _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel