From: Joshua Crofts <joshua.crofts1@gmail.com>
To: "Maxwell Doose" <maxwell@maxwelld.cc>
Cc: "Abdelnasser Hussein" <abdelnasserhussein11@gmail.com>,
<jic23@kernel.org>, <gregkh@linuxfoundation.org>,
<nuno.sa@analog.com>, <Michael.Hennerich@analog.com>,
<dlechner@baylibre.com>, <andy@kernel.org>, <linux@analog.com>,
<linux-iio@vger.kernel.org>, <linux-staging@lists.linux.dev>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v7 2/3] staging: iio: adc: ad7816: Serialize SPI operations
Date: Tue, 15 Sep 2026 13:46:57 +0200 [thread overview]
Message-ID: <20260915134657.000016e8@gmail.com> (raw)
In-Reply-To: <DLFV0K85626F.2MUXL6JKFNF5H@maxwelld.cc>
On Tue, 15 Sep 2026 06:39:34 -0500
"Maxwell Doose" <maxwell@maxwelld.cc> wrote:
> On Tue Sep 15, 2026 at 2:59 AM CDT
> Abdelnasser Hussein <abdelnasserhussein11@gmail.com> wrote:
>
> > The ad7816_spi_read() and ad7816_spi_write() functions perform a
> > sequence of GPIO state changes followed by an SPI transfer. If multiple
> > operations occur simultaneously, the GPIO state could be changed by one
> > thread while another is in the middle of a transfer, leading to a race
> > condition.
> >
> > Introduce a mutex to serialize the operations, ensuring that the GPIO
> > toggling and the SPI transfer are treated as a single atomic operation.
> > The mutex is placed right after the pointers in the device state
> > structure to avoid padding holes.
> >
> > Signed-off-by: Abdelnasser Hussein <abdelnasserhussein11@gmail.com>
> > ---
> > drivers/staging/iio/adc/ad7816.c | 11 +++++++++++
> > 1 file changed, 11 insertions(+)
> ...
> > @@ -47,6 +49,7 @@ struct ad7816_chip_info {
> > struct gpio_desc *rdwr_pin;
> > struct gpio_desc *convert_pin;
> > struct gpio_desc *busy_pin;
> > + struct mutex lock; /* protect device state during SPI transfers */
>
> I'm a little on the fence about the comment but if it satisfies
> checkpatch then thats one less patch later.
It's perfectly fine to comment like this, especially since this seems to
be the style the driver uses.
--
Kind regards,
Joshua Crofts
next prev parent reply other threads:[~2026-09-15 11:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-15 7:59 [PATCH v7 0/3] staging: iio: adc: ad7816: Fix SPI operations race condition and DMA safety Abdelnasser Hussein
2026-09-15 7:59 ` [PATCH v7 1/3] staging: iio: adc: ad7816: Sort headers alphabetically Abdelnasser Hussein
2026-09-15 7:59 ` [PATCH v7 2/3] staging: iio: adc: ad7816: Serialize SPI operations Abdelnasser Hussein
2026-09-15 11:39 ` Maxwell Doose
2026-09-15 11:46 ` Joshua Crofts [this message]
2026-09-15 13:16 ` Joshua Crofts
2026-09-15 13:50 ` nasser
2026-09-15 7:59 ` [PATCH v7 3/3] staging: iio: adc: ad7816: Fix DMA safety issues in SPI transfers Abdelnasser Hussein
2026-09-17 3:22 ` Jonathan Cameron
2026-09-19 8:20 ` nasser
2026-09-15 13:17 ` [PATCH v7 0/3] staging: iio: adc: ad7816: Fix SPI operations race condition and DMA safety Joshua Crofts
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=20260915134657.000016e8@gmail.com \
--to=joshua.crofts1@gmail.com \
--cc=Michael.Hennerich@analog.com \
--cc=abdelnasserhussein11@gmail.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=gregkh@linuxfoundation.org \
--cc=jic23@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=linux@analog.com \
--cc=maxwell@maxwelld.cc \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.