Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751427AbdINN5n (ORCPT ); Thu, 14 Sep 2017 09:57:43 -0400 Received: from www381.your-server.de ([78.46.137.84]:60423 "EHLO www381.your-server.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751277AbdINN5m (ORCPT ); Thu, 14 Sep 2017 09:57:42 -0400 Subject: Re: [PATCH] staging: iio: ad7192: Use the dedicated reset function To: Stefan Popa , Michael Hennerich , Jonathan Cameron Cc: Hartmut Knaack , Greg Kroah-Hartman , linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org References: <1505397028-15461-1-git-send-email-stefan.popa@analog.com> From: Lars-Peter Clausen Message-ID: Date: Thu, 14 Sep 2017 15:57:34 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <1505397028-15461-1-git-send-email-stefan.popa@analog.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Authenticated-Sender: lars@metafoo.de Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1110 Lines: 34 On 09/14/2017 03:50 PM, Stefan Popa wrote: > SPI host drivers can use DMA to transfer data, so the buffer should be properly allocated. > Keeping it on the stack could cause an undefined behavior. > > The dedicated reset function solves this issue. > > Signed-off-by: Stefan Popa Acked-by: Lars-Peter Clausen Thanks. > --- > drivers/staging/iio/adc/ad7192.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/staging/iio/adc/ad7192.c b/drivers/staging/iio/adc/ad7192.c > index d11c6de..6150d27 100644 > --- a/drivers/staging/iio/adc/ad7192.c > +++ b/drivers/staging/iio/adc/ad7192.c > @@ -223,11 +223,9 @@ static int ad7192_setup(struct ad7192_state *st, > struct iio_dev *indio_dev = spi_get_drvdata(st->sd.spi); > unsigned long long scale_uv; > int i, ret, id; > - u8 ones[6]; > > /* reset the serial interface */ > - memset(&ones, 0xFF, 6); > - ret = spi_write(st->sd.spi, &ones, 6); > + ret = ad_sd_reset(&st->sd, 48); > if (ret < 0) > goto out; > usleep_range(500, 1000); /* Wait for at least 500us */ >