[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220524181150.9240-1-ddrokosov@sberdevices.ru>
Date: Tue, 24 May 2022 18:14:37 +0000
From: Dmitry Rokosov <DDRokosov@...rdevices.ru>
To: "robh+dt@...nel.org" <robh+dt@...nel.org>,
"jic23@...nel.org" <jic23@...nel.org>,
"lars@...afoo.de" <lars@...afoo.de>,
"andy.shevchenko@...il.com" <andy.shevchenko@...il.com>,
"lorenzo.bianconi83@...il.com" <lorenzo.bianconi83@...il.com>,
"srinivas.pandruvada@...ux.intel.com"
<srinivas.pandruvada@...ux.intel.com>,
"teodora.baluta@...el.com" <teodora.baluta@...el.com>,
"narcisaanamaria12@...il.com" <narcisaanamaria12@...il.com>
CC: "linux-iio@...r.kernel.org" <linux-iio@...r.kernel.org>,
kernel <kernel@...rdevices.ru>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Dmitry Rokosov <DDRokosov@...rdevices.ru>
Subject: [PATCH v2 0/5] iio: treewide: rearrange iio trig get/register
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
Powered by blists - more mailing lists