On Mon, 2 Apr 2018 18:59:42 +0200 Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> wrote: > In case of error, we must undo the previous 'sca3000_configure_ring()' call > in order to free some memory. > > Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Perhaps we can simplify this by using devm_iio_kfifo_allocate in the ring configure function? > --- > drivers/iio/accel/sca3000.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/iio/accel/sca3000.c b/drivers/iio/accel/sca3000.c > index f33dadf7b262..dae4c594c170 100644 > --- a/drivers/iio/accel/sca3000.c > +++ b/drivers/iio/accel/sca3000.c > @@ -1496,7 +1496,7 @@ static int sca3000_probe(struct spi_device *spi) > "sca3000", > indio_dev); > if (ret) > - return ret; > + goto error_unconfigure_ring; > } > indio_dev->setup_ops = &sca3000_ring_setup_ops; > ret = sca3000_clean_setup(st); > @@ -1513,6 +1513,9 @@ static int sca3000_probe(struct spi_device *spi) > if (spi->irq) > free_irq(spi->irq, indio_dev); > > +error_unconfigure_ring: > + sca3000_unconfigure_ring(indio_dev); > + > return ret; > } > -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html