iio: pressure: zpa2326: Remove always-true check which confuses gcc
authorGeert Uytterhoeven <geert@linux-m68k.org>
Wed, 5 Jul 2017 08:14:59 +0000 (10:14 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 10 Nov 2018 15:42:54 +0000 (07:42 -0800)
[ Upstream commit f61dfff2f5b9fcb087bf5c444bc44b444709588f ]

With gcc 4.1.2:

    drivers/iio/pressure/zpa2326.c: In function ‘zpa2326_wait_oneshot_completion’:
    drivers/iio/pressure/zpa2326.c:868: warning: ‘ret’ may be used uninitialized in this function

When testing for "timeout < 0", timeout is already guaranteed to be
strict negative, so the branch is always taken, and ret is thus always
initialized.  But (some version of) gcc is not smart enough to notice.

Remove the check to fix this.
As there is no other code in between assigning the error codes and
returning them, the error codes can be returned immediately, and the
intermediate variable can be dropped.
Drop the "else" to please checkpatch.

Fixes: e7215fe4d51e69c9 ("iio: pressure: zpa2326: report interrupted case as failure")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iio/pressure/zpa2326.c

index 2a4a62ebfd8d11616c9e96421f48429f843c7c34..cc002b958f7e8a12351aa6e44bfbf2c96536fa8c 100644 (file)
@@ -869,7 +869,6 @@ complete:
 static int zpa2326_wait_oneshot_completion(const struct iio_dev   *indio_dev,
                                           struct zpa2326_private *private)
 {
-       int          ret;
        unsigned int val;
        long     timeout;
 
@@ -891,14 +890,11 @@ static int zpa2326_wait_oneshot_completion(const struct iio_dev   *indio_dev,
                /* Timed out. */
                zpa2326_warn(indio_dev, "no one shot interrupt occurred (%ld)",
                             timeout);
-               ret = -ETIME;
-       } else if (timeout < 0) {
-               zpa2326_warn(indio_dev,
-                            "wait for one shot interrupt cancelled");
-               ret = -ERESTARTSYS;
+               return -ETIME;
        }
 
-       return ret;
+       zpa2326_warn(indio_dev, "wait for one shot interrupt cancelled");
+       return -ERESTARTSYS;
 }
 
 static int zpa2326_init_managed_irq(struct device          *parent,