On Mon, 17 Jan 2022 10:25:12 +0000 Paul Cercueil <paul@xxxxxxxxxxxxxxx> wrote: > Instead of returning an error if the watermark value is too high, which > the core will silently ignore anyway, limit the value to the hardware > FIFO size; a lower-than-requested value is still better than using the > default, which is usually 1. There is another potential error condition in this function which will also be ignored by the core. As such whilst I agree this is a sensible thing to do in this particular case I think we should also be handling the error in the core. I think it would be better to clean that up at the same time as these improvements - particularly as I'd guess you have a convenient test setup to check the error unwind is correct? Thanks, Jonathan > > Cc: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx> > Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx> > Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> > Cc: Ludovic Desroches <ludovic.desroches@xxxxxxxxxxxxx> > Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx> > --- > drivers/iio/adc/at91-sama5d2_adc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/iio/adc/at91-sama5d2_adc.c b/drivers/iio/adc/at91-sama5d2_adc.c > index 854b1f81d807..5cc84f4a17bb 100644 > --- a/drivers/iio/adc/at91-sama5d2_adc.c > +++ b/drivers/iio/adc/at91-sama5d2_adc.c > @@ -1752,7 +1752,7 @@ static int at91_adc_set_watermark(struct iio_dev *indio_dev, unsigned int val) > int ret; > > if (val > AT91_HWFIFO_MAX_SIZE) > - return -EINVAL; > + val = AT91_HWFIFO_MAX_SIZE; > > if (!st->selected_trig->hw_trig) { > dev_dbg(&indio_dev->dev, "we need hw trigger for DMA\n");