From patchwork Mon May 30 14:52:04 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 102294 Delivered-To: patch@linaro.org Received: by 10.140.92.199 with SMTP id b65csp1447069qge; Mon, 30 May 2016 07:52:24 -0700 (PDT) X-Received: by 10.66.63.35 with SMTP id d3mr20828321pas.69.1464619944135; Mon, 30 May 2016 07:52:24 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id xk1si743786pab.53.2016.05.30.07.52.23; Mon, 30 May 2016 07:52:24 -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 S1755176AbcE3OwV (ORCPT + 30 others); Mon, 30 May 2016 10:52:21 -0400 Received: from mout.kundenserver.de ([212.227.126.135]:52288 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754869AbcE3OwU (ORCPT ); Mon, 30 May 2016 10:52:20 -0400 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue005) with ESMTPA (Nemesis) id 0M8n5U-1bCwSb44c8-00C8LH; Mon, 30 May 2016 16:51:54 +0200 From: Arnd Bergmann To: Jonathan Cameron Cc: Arnd Bergmann , Hartmut Knaack , Lars-Peter Clausen , Peter Meerwald-Stadler , Mark Brown , "Andrew F. Davis" , Javier Martinez Canillas , linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] iio: as3935: improve error reporting in as3935_event_work Date: Mon, 30 May 2016 16:52:04 +0200 Message-Id: <1464619938-988956-1-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 MIME-Version: 1.0 X-Provags-ID: V03:K0:K1CyDCoNLrK7tWaKRHuznBpTDKGKjH/lPbuG3YJ6zIxEW3UVfwh /eRydbrv+QSFqB8VBrSJDAoOWUPxkHxfKCYjhfIWpLy/FZR3WjLTgj+eWXIoxlcngqqH54m 0JOMZIwQYyct+TB54VNYa4ZOXJUtZsBwTjspRGbN1/JMNtoj+zKHXCchztUsvx6qTHDiP0f DNCKSdds8ncf4c93IDxZg== X-UI-Out-Filterresults: notjunk:1; V01:K0:TA6acfoT/aA=:2XCUcS05GcGbZOSXJ3Lil4 0+tltT0VSGBwlcANX9cwqh5TO/9iThZO/ovW6OKDmB4Xp3tN2kJesyf5yhq7jJLXRUe3qem1S 1sWlaEuqBqV/MfirhcBlJWAf/ek++ELQSQPIPi4RN5Fo49ekXHEy7i915kcm9cX2KohA481Hg bcentpPBx499eCBki5O3lgzmQ/58AU53HfsRhi1OGE5qhA88ifOo8HDhY3Q+9imJVXTNIv21I cVLMuLrsgiY/wzY/kxqSGmvW8GW5DmQzocYANk7hV3iZ8UsJrXqnUQO6d6+OgLhg5Nu/owB57 12i3kTt56YpC7sj5JY4l/QuGu1Pw0DWWj5EHQg0I21xuU+DraW4/Hhn+LXmIQEyxhEU1Vo7vU qvlE7AqMIm0/wN379r0oxYgLLEcvSl7rqJ6D0lYD1oP1/7B+rZ+71i8YO5WbKw4msgd6qAzTY QNJP0OWS9NXxTskRd39WPg+XKTh8tlTl6PXw4k7yMef05+C6eLgfyi3auzQd8d6R/htWlrYNO 3dc0t/rOfC605E3RPn7UVN1IvBTE4dee7fQtKBwax05xHQuqe1kctW4de9d0tFUA8laZ4FwZ/ N5FpuZxUpdkeKZZBuCcJD5AP326UIAuPf0tjrSion+SRi1XFDe1sQPxeuDp0Rh9L4KVuA2s4u NHDRZYq4OXvA+k6tjmK0q6D2ziGsMA+merF0yT+Upvg7+JtxPbvQvF8vjg3N6nLHXkxn1rFOt ye1wUR8ixCCNjmmnrAGtBQAb2XCZa57DMvkwr3osKuEyTBDQ/Xc8rvvfRvkKjLP+AioVq3AhB pSZHI8Nzu8cMVROj57ue3FlOhDGgA== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org gcc warns about a potentially uninitialized variable use in as3935_event_work: drivers/iio/proximity/as3935.c: In function ‘as3935_event_work’: drivers/iio/proximity/as3935.c:231:6: error: ‘val’ may be used uninitialized in this function [-Werror=maybe-uninitialized] This case specifically happens when spi_w8r8() fails with a negative return code. We check all other users of this function except this one. As the error is rather unlikely to happen after the device has already been initialized, this just adds a dev_warn(). Another warning already existst in the same function, but is missing a trailing '\n' character, so I'm fixing that too. Signed-off-by: Arnd Bergmann --- drivers/iio/proximity/as3935.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) -- 2.7.0 diff --git a/drivers/iio/proximity/as3935.c b/drivers/iio/proximity/as3935.c index f4d29d5dbd5f..b49e3ab5730a 100644 --- a/drivers/iio/proximity/as3935.c +++ b/drivers/iio/proximity/as3935.c @@ -224,10 +224,16 @@ static void as3935_event_work(struct work_struct *work) { struct as3935_state *st; int val; + int ret; st = container_of(work, struct as3935_state, work.work); - as3935_read(st, AS3935_INT, &val); + ret = as3935_read(st, AS3935_INT, &val); + if (ret) { + dev_warn(&st->spi->dev, "read error\n"); + return; + } + val &= AS3935_INT_MASK; switch (val) { @@ -235,7 +241,7 @@ static void as3935_event_work(struct work_struct *work) iio_trigger_poll(st->trig); break; case AS3935_NOISE_INT: - dev_warn(&st->spi->dev, "noise level is too high"); + dev_warn(&st->spi->dev, "noise level is too high\n"); break; } }