From: Jonathan Cameron <jic23@kernel.org>
To: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Lars-Peter Clausen <lars@metafoo.de>,
Michael Hennerich <Michael.Hennerich@analog.com>,
Linus Walleij <linus.walleij@linaro.org>,
Cosmin Tanislav <cosmin.tanislav@analog.com>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-gpio@vger.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Subject: Re: [PATCH 1/7] iio: dac: ad5592r: destroy mutexes in detach paths
Date: Mon, 7 Apr 2025 20:06:25 +0100 [thread overview]
Message-ID: <20250407200625.734c02d9@jic23-huawei> (raw)
In-Reply-To: <20250407-gpiochip-set-rv-iio-v1-1-8431b003a145@linaro.org>
On Mon, 07 Apr 2025 09:18:09 +0200
Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> The locks used here are initialized but never released which causes
> resource leaks with mutex debugging enabled. Add missing calls to
> mutex_destroy() or use devres if applicable.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Hi Bartosz,
> ---
> drivers/iio/dac/ad5592r-base.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/dac/ad5592r-base.c b/drivers/iio/dac/ad5592r-base.c
> index 50d19304bacb..fe4c35689d4d 100644
> --- a/drivers/iio/dac/ad5592r-base.c
> +++ b/drivers/iio/dac/ad5592r-base.c
> @@ -155,6 +155,8 @@ static void ad5592r_gpio_cleanup(struct ad5592r_state *st)
> {
> if (st->gpio_map)
> gpiochip_remove(&st->gpiochip);
> +
> + mutex_destroy(&st->gpio_lock);
> }
>
> static int ad5592r_reset(struct ad5592r_state *st)
> @@ -622,7 +624,9 @@ int ad5592r_probe(struct device *dev, const char *name,
> iio_dev->info = &ad5592r_info;
> iio_dev->modes = INDIO_DIRECT_MODE;
>
> - mutex_init(&st->lock);
> + ret = devm_mutex_init(dev, &st->lock);
> + if (ret)
> + goto error_disable_reg;
Please don't mix devm and gotos. That tends to make for complex
logic to review for limited gain. Devm then gotos is fine though
(i.e. a transition from all devm to gotos only mid way through probe).
Easiest solution would be to move this mutex init before the regulator
is enabled (so up about 10 lines).
Then we finish the devm stuff before starting the non devm part.
A more complex cleanup would be to drop the support for dynamic vref
(as that is almost certainly copied and pasted from elsewhere rather than
a real thing) and then use devm to manage the vref. That wouldn't
be related to this series though so I'd just move that mutex init up.
>
> ad5592r_init_scales(st, ad5592r_get_vref(st));
>
>
next prev parent reply other threads:[~2025-04-07 19:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-07 7:18 [PATCH 0/7] iio: convert GPIO chips to using new value setters Bartosz Golaszewski
2025-04-07 7:18 ` [PATCH 1/7] iio: dac: ad5592r: destroy mutexes in detach paths Bartosz Golaszewski
2025-04-07 19:06 ` Jonathan Cameron [this message]
2025-04-07 7:18 ` [PATCH 2/7] iio: dac: ad5592r: use lock guards Bartosz Golaszewski
2025-04-07 19:12 ` Jonathan Cameron
2025-04-08 2:58 ` kernel test robot
2025-04-07 7:18 ` [PATCH 3/7] iio: dac: ad5592r: use new GPIO line value setter callbacks Bartosz Golaszewski
2025-04-07 7:18 ` [PATCH 4/7] iio: adc: ti-ads7950: " Bartosz Golaszewski
2025-04-07 7:18 ` [PATCH 5/7] iio: adc: ad4130: " Bartosz Golaszewski
2025-04-07 7:18 ` [PATCH 6/7] iio: addac: ad74413r: " Bartosz Golaszewski
2025-04-07 7:18 ` [PATCH 7/7] iio: addac: ad74115: " Bartosz Golaszewski
2025-04-07 19:16 ` [PATCH 0/7] iio: convert GPIO chips to using new value setters Jonathan Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250407200625.734c02d9@jic23-huawei \
--to=jic23@kernel.org \
--cc=Michael.Hennerich@analog.com \
--cc=bartosz.golaszewski@linaro.org \
--cc=brgl@bgdev.pl \
--cc=cosmin.tanislav@analog.com \
--cc=lars@metafoo.de \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox