[PATCH v2 0/5] iio: treewide: rearrange iio trig get/register

From: Dmitry Rokosov
Date: Tue May 24 2022 - 14:15:22 EST


The following patchset resolves problems with iio_trigger_get() and
iio_trigger_register() call order in the different IIO drivers.

IIO trigger interface function iio_trigger_get() should be called after
iio_trigger_register() (or its devm analogue) strictly, because of
iio_trigger_get() acquires module refcnt based on the trigger->owner
pointer, which is initialized inside iio_trigger_register() to
THIS_MODULE.
If this call order is wrong, the next iio_trigger_put() (from sysfs
callback or "delete module" path) will dereference "default" module
refcnt, which is incorrect behaviour.

Changes v1->v2:
- provide tag Fixes: for all patches

Dmitry Rokosov (5):
iio:accel:bma180: rearrange iio trigger get and register
iio:accel:kxcjk-1013: rearrange iio trigger get and register
iio:accel:mxc4005: rearrange iio trigger get and register
iio:chemical:ccs811: rearrange iio trigger get and register
iio:humidity:hts221: rearrange iio trigger get and register

drivers/iio/accel/bma180.c | 3 ++-
drivers/iio/accel/kxcjk-1013.c | 4 ++--
drivers/iio/accel/mxc4005.c | 4 ++--
drivers/iio/chemical/ccs811.c | 4 ++--
drivers/iio/humidity/hts221_buffer.c | 5 ++++-
5 files changed, 12 insertions(+), 8 deletions(-)

--
2.36.0