From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752906AbcKHOJ5 (ORCPT ); Tue, 8 Nov 2016 09:09:57 -0500 Received: from mout.kundenserver.de ([212.227.126.133]:49650 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751134AbcKHOJx (ORCPT ); Tue, 8 Nov 2016 09:09:53 -0500 From: Arnd Bergmann To: Jonathan Cameron Cc: Arnd Bergmann , Lars-Peter Clausen , Michael Hennerich , Hartmut Knaack , Peter Meerwald-Stadler , Greg Kroah-Hartman , Eva Rachel Retuya , linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: [PATCH] staging: iio: ad9832: allocate data before using Date: Tue, 8 Nov 2016 15:00:49 +0100 Message-Id: <20161108140115.2250646-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:Yt93Q//W9AiCO4mQGEfa1t62tgjAKlQL9XjKMrcweIf00kOodGe Ss+f9/WCIpKEl6zJKiRUtGtNwuv9J6+KeofPw8+bIJpbiQ8SF79g9mOlxR3mHNZKNTlRc6M eCgTnfYW3Yt/2ldPAPHwELNUMdVPd+BqEu3J0lV5uDejio7JHbPGF2vYqSPwa7e8CIllN6p jhGyhFxbFkcy1cBFSR3yA== X-UI-Out-Filterresults: notjunk:1;V01:K0:hw4J3Ncue7w=:IdvkfMyBy9CukALOGRaSJS HVa2E7CW5qLlLLPbBz143yyxGzmf3VTg3TXtesn564Rv+QWozIVO/NBs00Kr1QcZvQROi/iHR PSNy3x1Ju1uU4y2nYHOY4UrcXhYTYX2HgvtoUm6dzfqbxpq3NK7/4co9Bxwyw4hv5QQTAvofQ J76ATizJ/IWbG5qYQUgYQzPdX4UFBiGkmiD4GdJ23hnhRQaI+Xegbpc4cMN2g//4OnkCw9Q/u q0euMwGWWQehdlREHWtydHRG/Tnyw2vahrX3v4tQg+KOTm1r0Z4svzjy2Rbc4QP6+r+x7EX0i wLvjwXDjOqGfbet98WLjS1rnBfP5ZDOTV83/Ri6/jl5HTzO2bgQHOildj7WVT2jUbv1aO3lOW GbumfW0uX0or0a3IywDQDGmNB8m+S/Dw4b5vmcUYi4IC+OAwhxJYPh6EKbhTqtnKyo3IdQvmv xpHuT8I3zqFP/eo9iZFsdV7jMZiTDN/cBxHVwBlnVSG0wQ+zid4VTlBQmULSfSP0i6XbkjTw5 sbTjhLwBfXdmv54/DJZNEDyc9Jibc53YOUjEdp++GphYv09fwWiJ00AsAjKhfEXqZQPvPBHVR zljdsPpmIvK9GWOrCp0QTcXr/lAv/HAmWUdp9DoKWzGpQYVi/RH+/aKME1kT3zCJUKyG5SNEm s41UajrZTXhn5qRCKsHUhqsu6Zy9SOrNlHpxexHbk+RwV6vgTFtIN1FCTTLs/dYsGo30= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The regulator changes assigned data to an uninitialized pointer: drivers/staging/iio/frequency/ad9832.c: In function 'ad9832_probe': drivers/staging/iio/frequency/ad9832.c:214:11: error: 'st' may be used uninitialized in this function [-Werror=maybe-uninitialized] This moves the allocation of the 'st' structure before its first use, as it should have been. Fixes: 43a07e48af44 ("staging: iio: ad9832: clean-up regulator 'reg'") Fixes: a98461d79ba5 ("staging: iio: ad9832: add DVDD regulator") Signed-off-by: Arnd Bergmann --- drivers/staging/iio/frequency/ad9832.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/iio/frequency/ad9832.c b/drivers/staging/iio/frequency/ad9832.c index 639047fade30..a5b2f068168d 100644 --- a/drivers/staging/iio/frequency/ad9832.c +++ b/drivers/staging/iio/frequency/ad9832.c @@ -211,6 +211,13 @@ static int ad9832_probe(struct spi_device *spi) return -ENODEV; } + indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); + if (!indio_dev) + return -ENOMEM; + + spi_set_drvdata(spi, indio_dev); + st = iio_priv(indio_dev); + st->avdd = devm_regulator_get(&spi->dev, "avdd"); if (IS_ERR(st->avdd)) return PTR_ERR(st->avdd); @@ -233,13 +240,6 @@ static int ad9832_probe(struct spi_device *spi) goto error_disable_avdd; } - indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); - if (!indio_dev) { - ret = -ENOMEM; - goto error_disable_dvdd; - } - spi_set_drvdata(spi, indio_dev); - st = iio_priv(indio_dev); st->mclk = pdata->mclk; st->spi = spi; -- 2.9.0