On Mon, Aug 16, 2021 at 10:30 AM Alexandru Ardelean <aardelean@xxxxxxxxxxx> wrote: > Up until commit ea7e586bdd331 ("iio: st_sensors: move regulator retrieveal > to core") only the ST pressure driver seems to have had any regulator > disable. After that commit, the regulator handling was moved into the > common st_sensors logic. > > In all instances of this regulator handling, the regulators were disabled > before unregistering the IIO device. > This can cause issues where the device would be powered down and still be > available to userspace, allowing it to send invalid/garbage data. > > This change moves the st_sensors_power_disable() after the common probe > functions. These common probe functions also handle unregistering the IIO > device. > > Fixes: 774487611c949 ("iio: pressure-core: st: Provide support for the Vdd power supply") > Fixes: ea7e586bdd331 ("iio: st_sensors: move regulator retrieveal to core") > Cc: Lee Jones <lee.jones@xxxxxxxxxx> > Cc: Denis CIOCCA <denis.ciocca@xxxxxx> > Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> > Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > Signed-off-by: Alexandru Ardelean <aardelean@xxxxxxxxxxx> That's a valid concern I suppose: Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> But as it now occurs last before return 0, can't we just solve this with a devm_add_action_or_reset(dev, st_sensors_power_off_action, *); of some kind and let devres handle it? c.f drivers/input/touchscreen/cy8ctma140.c Yours, Linus Walleij