Message ID | 20200831133011.91258-1-cengiz@kernel.wtf (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | staging: atomisp: Fix fallthrough keyword warning | expand |
On Mon, Aug 31, 2020 at 04:30:12PM +0300, Cengiz Can wrote: > commit df561f6688fe ("treewide: Use fallthrough pseudo-keyword") from > Gustavo A. R. Silva replaced and standardized /* fallthrough */ comments > with 'fallthrough' pseudo-keyword. > > However, in one of the switch-case statements, Coverity Static Analyzer > throws a warning that 'fallthrough' is unreachable due to the adjacent > 'return false' statement. > > Since 'fallthrough' is actually an empty "do {} while(0)" this might be > due to compiler optimizations. But that needs further investigation. > > In order to fix the unreachable code warning, make adjacent 'return > false' a part of the previous if statement's else clause. > > Reported-by: Coverity Static Analyzer CID 1466511 > Signed-off-by: Cengiz Can <cengiz@kernel.wtf> > --- > drivers/staging/media/atomisp/pci/atomisp_compat_css20.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c > index 1b2b2c68025b..aaa2d0e0851b 100644 > --- a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c > +++ b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c > @@ -709,8 +709,8 @@ static bool is_pipe_valid_to_current_run_mode(struct atomisp_sub_device *asd, > if (pipe_id == IA_CSS_PIPE_ID_CAPTURE || > pipe_id == IA_CSS_PIPE_ID_PREVIEW) > return true; > - > - return false; > + else > + return false; > fallthrough; Heh... Still unreachable, but now it has a checkpatch.pl warning as well. Just get rid of the bogus fallthrough annotation. > case ATOMISP_RUN_MODE_VIDEO: > if (!asd->continuous_mode->val) { regards, dan carpenter
Really I think this function is pretty buggy. It shouldn't be falling through at all... I reported it a couple days back so it's possible that someone is working on a fix already. regards, dan carpenter
Em Mon, 31 Aug 2020 16:30:12 +0300 Cengiz Can <cengiz@kernel.wtf> escreveu: > commit df561f6688fe ("treewide: Use fallthrough pseudo-keyword") from > Gustavo A. R. Silva replaced and standardized /* fallthrough */ comments > with 'fallthrough' pseudo-keyword. > > However, in one of the switch-case statements, Coverity Static Analyzer > throws a warning that 'fallthrough' is unreachable due to the adjacent > 'return false' statement. > > Since 'fallthrough' is actually an empty "do {} while(0)" this might be > due to compiler optimizations. But that needs further investigation. > > In order to fix the unreachable code warning, make adjacent 'return > false' a part of the previous if statement's else clause. > > Reported-by: Coverity Static Analyzer CID 1466511 > Signed-off-by: Cengiz Can <cengiz@kernel.wtf> > --- > drivers/staging/media/atomisp/pci/atomisp_compat_css20.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c > index 1b2b2c68025b..aaa2d0e0851b 100644 > --- a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c > +++ b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c > @@ -709,8 +709,8 @@ static bool is_pipe_valid_to_current_run_mode(struct atomisp_sub_device *asd, > if (pipe_id == IA_CSS_PIPE_ID_CAPTURE || > pipe_id == IA_CSS_PIPE_ID_PREVIEW) > return true; > - > - return false; > + else > + return false; > fallthrough; Actually, the actual fix here would be to get rid of fallthrough. Regards, Thanks, Mauro
diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c index 1b2b2c68025b..aaa2d0e0851b 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c +++ b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c @@ -709,8 +709,8 @@ static bool is_pipe_valid_to_current_run_mode(struct atomisp_sub_device *asd, if (pipe_id == IA_CSS_PIPE_ID_CAPTURE || pipe_id == IA_CSS_PIPE_ID_PREVIEW) return true; - - return false; + else + return false; fallthrough; case ATOMISP_RUN_MODE_VIDEO: if (!asd->continuous_mode->val) {
commit df561f6688fe ("treewide: Use fallthrough pseudo-keyword") from Gustavo A. R. Silva replaced and standardized /* fallthrough */ comments with 'fallthrough' pseudo-keyword. However, in one of the switch-case statements, Coverity Static Analyzer throws a warning that 'fallthrough' is unreachable due to the adjacent 'return false' statement. Since 'fallthrough' is actually an empty "do {} while(0)" this might be due to compiler optimizations. But that needs further investigation. In order to fix the unreachable code warning, make adjacent 'return false' a part of the previous if statement's else clause. Reported-by: Coverity Static Analyzer CID 1466511 Signed-off-by: Cengiz Can <cengiz@kernel.wtf> --- drivers/staging/media/atomisp/pci/atomisp_compat_css20.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)