> -----Original Message----- > From: Alexandru Ardelean <ardeleanalex@xxxxxxxxx> > Sent: Wednesday, April 14, 2021 9:29 AM > To: Sa, Nuno <Nuno.Sa@xxxxxxxxxx> > Cc: linux-iio <linux-iio@xxxxxxxxxxxxxxx>; Jonathan Cameron > <jic23@xxxxxxxxxx>; Hennerich, Michael > <Michael.Hennerich@xxxxxxxxxx>; Lars-Peter Clausen > <lars@xxxxxxxxxx> > Subject: Re: [PATCH 4/7] iio: adis16475: re-set max spi transfer > > [External] > > On Tue, Apr 13, 2021 at 5:45 PM Nuno Sa <nuno.sa@xxxxxxxxxx> > wrote: > > > > In case 'spi_sync()' fails, we would be left with a max spi transfer > > which is not the one the user expects it to be. Hence, we need to re- > set > > it also in this error path. > > > > Fixes: fff7352bf7a3c ("iio: imu: Add support for adis16475") > > Signed-off-by: Nuno Sa <nuno.sa@xxxxxxxxxx> > > --- > > drivers/iio/imu/adis16475.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/iio/imu/adis16475.c b/drivers/iio/imu/adis16475.c > > index 51b76444db0b..9dca7e506200 100644 > > --- a/drivers/iio/imu/adis16475.c > > +++ b/drivers/iio/imu/adis16475.c > > @@ -1067,8 +1067,10 @@ static irqreturn_t > adis16475_trigger_handler(int irq, void *p) > > adis->spi->max_speed_hz = ADIS16475_BURST_MAX_SPEED; > > > > ret = spi_sync(adis->spi, &adis->msg); > > Purely stylistic here. > But, the restore from the cached variable could be done here in a > single line. > So. just moving [1] here. You mean also doing it in the label? I thought about that and the reason why I didn't is that on a normal run, I want to reset the max freq as soon as possible so that if someone concurrently tries to read 'direct mode' attrs gets the max freq. This was my reasoning but I admit that it's not that important so I will leave this to Jonathan's preference... Hmm now that I spoke about the concurrently access to IIO attr and being paranoid about the compiler, I wonder if we should not use WRITE_ONCE(adis->spi->max_speed_hz, ADIS16475_BURST_MAX_SPEED)...