From: Jonathan Cameron <jic23@kernel.org>
To: Johan Hovold <johan+linaro@kernel.org>
Cc: Lars-Peter Clausen <lars@metafoo.de>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
Nuno Sa <nuno.sa@analog.com>
Subject: Re: [PATCH] iio: inkern: fix channel read regression
Date: Sat, 1 Jun 2024 14:21:47 +0100 [thread overview]
Message-ID: <20240601142147.3ac40207@jic23-huawei> (raw)
In-Reply-To: <20240530074416.13697-1-johan+linaro@kernel.org>
On Thu, 30 May 2024 09:44:16 +0200
Johan Hovold <johan+linaro@kernel.org> wrote:
> A recent "cleanup" broke IIO channel read outs and thereby thermal
> mitigation on the Lenovo ThinkPad X13s by returning zero instead of the
> expected IIO value type in iio_read_channel_processed_scale():
>
> thermal thermal_zone12: failed to read out thermal zone (-22)
>
> Fixes: 3092bde731ca ("iio: inkern: move to the cleanup.h magic")
> Cc: Nuno Sa <nuno.sa@analog.com>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Hi Johan,
The documentation for this function unfortunately says
* Returns an error code or 0
so not surprising this went wrong.
All those docs should be dragged alongside the implementations
to make it easier to spot errors and seems we need to do some
fixing up of those docs in general :(
In meantime, Nuno please take another look at these and see if
we have additional problem cases like this. Given the patch
queue I have and a busy few days it will be a while before I
get to it but I'll try and take a close look soon as well.
Longer term, in my view the readability and chance of bugs
is reduced, but churn always introduces the possibility of
issues like this in the short term :(
Jonathan
> ---
> drivers/iio/inkern.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>
> Someone should re-review the offending commit so that there are no more
> of these subtle regressions that are bound to happen when people use
> cleanup.h to save a few lines of code at the cost of readability.
>
> Johan
>
>
>
> diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c
> index 52d773261828..485e6fc44a04 100644
> --- a/drivers/iio/inkern.c
> +++ b/drivers/iio/inkern.c
> @@ -721,7 +721,7 @@ int iio_read_channel_processed_scale(struct iio_channel *chan, int *val,
> return ret;
> *val *= scale;
>
> - return 0;
> + return ret;
> } else {
> ret = iio_channel_read(chan, val, NULL, IIO_CHAN_INFO_RAW);
> if (ret < 0)
next prev parent reply other threads:[~2024-06-01 13:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-30 7:44 [PATCH] iio: inkern: fix channel read regression Johan Hovold
2024-06-01 13:21 ` Jonathan Cameron [this message]
2024-06-03 7:24 ` Johan Hovold
2024-06-03 19:33 ` 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=20240601142147.3ac40207@jic23-huawei \
--to=jic23@kernel.org \
--cc=johan+linaro@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
/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