[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220227161746.82776-1-trix@redhat.com>
Date: Sun, 27 Feb 2022 08:17:46 -0800
From: trix@...hat.com
To: vilhelm.gray@...il.com, nathan@...nel.org, ndesaulniers@...gle.com,
Jonathan.Cameron@...wei.com
Cc: linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org,
llvm@...ts.linux.dev, Tom Rix <trix@...hat.com>
Subject: [PATCH] counter: add defaults to switch-statements
From: Tom Rix <trix@...hat.com>
Clang static analysis reports this representative problem
counter-chrdev.c:482:3: warning: Undefined or garbage value
returned to caller
return ret;
^~~~~~~~~~
counter_get_data() has a multilevel switches, some without
defaults, so ret is sometimes not set.
Add returning -EINVAL similar to other defaults.
Fixes: b6c50affda59 ("counter: Add character device interface")
Signed-off-by: Tom Rix <trix@...hat.com>
---
drivers/counter/counter-chrdev.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/counter/counter-chrdev.c b/drivers/counter/counter-chrdev.c
index b7c62f957a6a8..69d340be9c93f 100644
--- a/drivers/counter/counter-chrdev.c
+++ b/drivers/counter/counter-chrdev.c
@@ -477,6 +477,8 @@ static int counter_get_data(struct counter_device *const counter,
case COUNTER_SCOPE_COUNT:
ret = comp->count_u8_read(counter, parent, &value_u8);
break;
+ default:
+ return -EINVAL;
}
*value = value_u8;
return ret;
@@ -496,6 +498,8 @@ static int counter_get_data(struct counter_device *const counter,
case COUNTER_SCOPE_COUNT:
ret = comp->count_u32_read(counter, parent, &value_u32);
break;
+ default:
+ return -EINVAL;
}
*value = value_u32;
return ret;
--
2.26.3
Powered by blists - more mailing lists