Message ID | b98d1a3ed4b0b324b261b23defd1bdddddba4d44.1647373009.git.vilhelm.gray@gmail.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | Counter updates, cleanups, and features for 5.18 | expand |
On Wed, Mar 16, 2022 at 12:43 PM William Breathitt Gray <vilhelm.gray@gmail.com> wrote: > > From: Tom Rix <trix@redhat.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. > > Signed-off-by: Tom Rix <trix@redhat.com> > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Link: https://lore.kernel.org/r/20220227161746.82776-1-trix@redhat.com > Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.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 b7c62f957a6a..69d340be9c93 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.35.1 > Acked-by: Syed Nayyar Waris <syednwaris@gmail.com> Thanks
diff --git a/drivers/counter/counter-chrdev.c b/drivers/counter/counter-chrdev.c index b7c62f957a6a..69d340be9c93 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;