From patchwork Thu Sep 22 09:43:42 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 101758 Delivered-To: patch@linaro.org Received: by 10.140.106.72 with SMTP id d66csp2499393qgf; Thu, 22 Sep 2016 02:45:08 -0700 (PDT) X-Received: by 10.98.4.70 with SMTP id 67mr1790963pfe.24.1474537508345; Thu, 22 Sep 2016 02:45:08 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m8si1347724pav.168.2016.09.22.02.45.08; Thu, 22 Sep 2016 02:45:08 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756199AbcIVJpF (ORCPT + 27 others); Thu, 22 Sep 2016 05:45:05 -0400 Received: from mout.kundenserver.de ([212.227.126.133]:56471 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752307AbcIVJpC (ORCPT ); Thu, 22 Sep 2016 05:45:02 -0400 Received: from wuerfel.lan. ([78.43.20.153]) by mrelayeu.kundenserver.de (mreue005) with ESMTPA (Nemesis) id 0MfDvq-1bbXS500xG-00Olbi; Thu, 22 Sep 2016 11:44:35 +0200 From: Arnd Bergmann To: Jonathan Cameron , Greg Kroah-Hartman Cc: Arnd Bergmann , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Ioana Ciornei , Ico Doornekamp , linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: [PATCH] iio: accel: sca3000_core: avoid potentially uninitialized variable Date: Thu, 22 Sep 2016 11:43:42 +0200 Message-Id: <20160922094432.2230485-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:lcI/Ym7oQjtiI8+oT9FwkYAIijEcpWPRKuyy0FYXsKnfrX6iIoP zxqSnaXbHx0GH2A0nbaZqJPBon2yrqK+r8xGrnbdCnpSs0avOr3f1jbJUoeOVcwc1ciV7QF DbGusIItloR/Z/V3DUBDgu+5qLpB1Rnhui6m5rLkdtHb8S36e7G4usxpdj4EYnu2ORp2m5t Tsu+CWdJeNXXH+iYdiI8w== X-UI-Out-Filterresults: notjunk:1; V01:K0:3RzGMLR1dcY=:jVR6Ucml6vYKaT0Wi2+W1u 6w8B5PwYqfwc48Xacsw6fS0hiTixs/V7pOOoBhiUMBm82YFoMDqiXJgKLB3q4Ht139qG5X0l8 Rwzt0ro/kVLh4zE4oE5xIkGrjOI6slMYqYeaV+X5vyv/rVmPEjwBr0AU6ra3ZGj9whgjeMqQs F2VqBx0AfqtyuNLrR0y+Z67OmqRktYaUE++4RmfoULUTT10MLDPGJMY0zpX2sO4Mysnn3Pdt8 MQYiCk6kFOvQR/gUcsxIEgyEUPevzmNHrcf8WNFTA6/eu+4NiZUyDsbkxsMTwNNDZrTDKy6e6 Wt1SWbV9UeTkTX0utKKZrvetvXTPaBf0mm5vmhFzZ5sCVKhN25L7ck6++/r6gLNE8Nq/IjlAK fzFs4gVwsI7y6zw4SwBL93TP224Eg2aycZ1EaHJ9kaQ6ZwRwSC3jXGLf9PBdWqCm0O/vz8yTS x6wwEd3G7TyAzy6lWRKIFTAqbRnIceOzW9NpET6ejrzneEJRPNngWaXwK2xKD1qtMQikNAlxp YafxtJ1PpsBCW1NOHqzfTDvi8/aCKEUgdfo4WgFRvCYbUbSo4mZeZAMmurocFHpiPnaiYa6UL nF2XzFY2scpvYT3cqhuQG6eXqma+Vx8fdsVyMieCS/uo/nBOiDBwmeDl1qtRxM2+SB6g1sDUx ZLXxd61BtX27eVQKHP8ddDKlYHcfFlv2v5EgflS0c7ftjwKNbh4FPqrVBw2PT6/UuGig= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The newly added __sca3000_get_base_freq function handles all valid modes of the SCA3000_REG_ADDR_MODE register, but gcc notices that any other value (i.e. 0x00) causes the base_freq variable to not get initialized: drivers/staging/iio/accel/sca3000_core.c: In function 'sca3000_write_raw': drivers/staging/iio/accel/sca3000_core.c:527:23: error: 'base_freq' may be used uninitialized in this function [-Werror=maybe-uninitialized] This adds explicit error handling for unexpected register values, to ensure this cannot happen. Fixes: e0f3fc9b47e6 ("iio: accel: sca3000_core: implemented IIO_CHAN_INFO_SAMP_FREQ") Signed-off-by: Arnd Bergmann --- drivers/staging/iio/accel/sca3000_core.c | 2 ++ 1 file changed, 2 insertions(+) -- 2.9.0 diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c index d626125d7af9..564b36d4f648 100644 --- a/drivers/staging/iio/accel/sca3000_core.c +++ b/drivers/staging/iio/accel/sca3000_core.c @@ -468,6 +468,8 @@ static inline int __sca3000_get_base_freq(struct sca3000_state *st, case SCA3000_MEAS_MODE_OP_2: *base_freq = info->option_mode_2_freq; break; + default: + ret = -EINVAL; } error_ret: return ret;