* [bug report] drm/dp: annotate implicit fall throughs
@ 2020-08-25 11:27 Dan Carpenter
2020-08-28 9:53 ` Jani Nikula
0 siblings, 1 reply; 3+ messages in thread
From: Dan Carpenter @ 2020-08-25 11:27 UTC (permalink / raw)
To: malat; +Cc: dri-devel
Hello Mathieu Malaterre,
The patch e9c0c874711b: "drm/dp: annotate implicit fall throughs"
from Jan 14, 2019, leads to the following static checker warning:
drivers/gpu/drm/drm_dp_helper.c:495 drm_dp_downstream_max_bpc()
warn: ignoring unreachable code.
drivers/gpu/drm/drm_dp_helper.c
467 int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
468 const u8 port_cap[4])
469 {
470 int type = port_cap[0] & DP_DS_PORT_TYPE_MASK;
471 bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
472 DP_DETAILED_CAP_INFO_AVAILABLE;
473 int bpc;
474
475 if (!detailed_cap_info)
476 return 0;
477
478 switch (type) {
479 case DP_DS_PORT_TYPE_VGA:
480 case DP_DS_PORT_TYPE_DVI:
481 case DP_DS_PORT_TYPE_HDMI:
482 case DP_DS_PORT_TYPE_DP_DUALMODE:
483 bpc = port_cap[2] & DP_DS_MAX_BPC_MASK;
^^^^^^^^^^^^^^^^^^
This is 0x3.
484
485 switch (bpc) {
486 case DP_DS_8BPC:
487 return 8;
488 case DP_DS_10BPC:
489 return 10;
490 case DP_DS_12BPC:
491 return 12;
492 case DP_DS_16BPC:
493 return 16;
494 }
495 fallthrough;
This fallthrough is impossible. Probably the way to work around the
bogus warning is the change the fallthough to "return 0; /* impossible */"
otherwise the fallthrough is sort of misleading...
496 default:
497 return 0;
498 }
499 }
regards,
dan carpenter
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [bug report] drm/dp: annotate implicit fall throughs
2020-08-25 11:27 [bug report] drm/dp: annotate implicit fall throughs Dan Carpenter
@ 2020-08-28 9:53 ` Jani Nikula
2020-08-31 9:06 ` Dan Carpenter
0 siblings, 1 reply; 3+ messages in thread
From: Jani Nikula @ 2020-08-28 9:53 UTC (permalink / raw)
To: Dan Carpenter, malat; +Cc: dri-devel
On Tue, 25 Aug 2020, Dan Carpenter <dan.carpenter@oracle.com> wrote:
> Hello Mathieu Malaterre,
>
> The patch e9c0c874711b: "drm/dp: annotate implicit fall throughs"
> from Jan 14, 2019, leads to the following static checker warning:
>
> drivers/gpu/drm/drm_dp_helper.c:495 drm_dp_downstream_max_bpc()
> warn: ignoring unreachable code.
>
> drivers/gpu/drm/drm_dp_helper.c
> 467 int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> 468 const u8 port_cap[4])
> 469 {
> 470 int type = port_cap[0] & DP_DS_PORT_TYPE_MASK;
> 471 bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
> 472 DP_DETAILED_CAP_INFO_AVAILABLE;
> 473 int bpc;
> 474
> 475 if (!detailed_cap_info)
> 476 return 0;
> 477
> 478 switch (type) {
> 479 case DP_DS_PORT_TYPE_VGA:
> 480 case DP_DS_PORT_TYPE_DVI:
> 481 case DP_DS_PORT_TYPE_HDMI:
> 482 case DP_DS_PORT_TYPE_DP_DUALMODE:
> 483 bpc = port_cap[2] & DP_DS_MAX_BPC_MASK;
> ^^^^^^^^^^^^^^^^^^
> This is 0x3.
>
> 484
> 485 switch (bpc) {
> 486 case DP_DS_8BPC:
> 487 return 8;
> 488 case DP_DS_10BPC:
> 489 return 10;
> 490 case DP_DS_12BPC:
> 491 return 12;
> 492 case DP_DS_16BPC:
> 493 return 16;
> 494 }
> 495 fallthrough;
>
> This fallthrough is impossible. Probably the way to work around the
> bogus warning is the change the fallthough to "return 0; /* impossible */"
> otherwise the fallthrough is sort of misleading...
Won't that be unreachable as well?
Maybe just add the default label to switch (bpc)?
BR,
Jani.
>
> 496 default:
> 497 return 0;
> 498 }
> 499 }
>
> regards,
> dan carpenter
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [bug report] drm/dp: annotate implicit fall throughs
2020-08-28 9:53 ` Jani Nikula
@ 2020-08-31 9:06 ` Dan Carpenter
0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2020-08-31 9:06 UTC (permalink / raw)
To: Jani Nikula; +Cc: malat, dri-devel
On Fri, Aug 28, 2020 at 12:53:32PM +0300, Jani Nikula wrote:
> On Tue, 25 Aug 2020, Dan Carpenter <dan.carpenter@oracle.com> wrote:
> > Hello Mathieu Malaterre,
> >
> > The patch e9c0c874711b: "drm/dp: annotate implicit fall throughs"
> > from Jan 14, 2019, leads to the following static checker warning:
> >
> > drivers/gpu/drm/drm_dp_helper.c:495 drm_dp_downstream_max_bpc()
> > warn: ignoring unreachable code.
> >
> > drivers/gpu/drm/drm_dp_helper.c
> > 467 int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > 468 const u8 port_cap[4])
> > 469 {
> > 470 int type = port_cap[0] & DP_DS_PORT_TYPE_MASK;
> > 471 bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
> > 472 DP_DETAILED_CAP_INFO_AVAILABLE;
> > 473 int bpc;
> > 474
> > 475 if (!detailed_cap_info)
> > 476 return 0;
> > 477
> > 478 switch (type) {
> > 479 case DP_DS_PORT_TYPE_VGA:
> > 480 case DP_DS_PORT_TYPE_DVI:
> > 481 case DP_DS_PORT_TYPE_HDMI:
> > 482 case DP_DS_PORT_TYPE_DP_DUALMODE:
> > 483 bpc = port_cap[2] & DP_DS_MAX_BPC_MASK;
> > ^^^^^^^^^^^^^^^^^^
> > This is 0x3.
> >
> > 484
> > 485 switch (bpc) {
> > 486 case DP_DS_8BPC:
> > 487 return 8;
> > 488 case DP_DS_10BPC:
> > 489 return 10;
> > 490 case DP_DS_12BPC:
> > 491 return 12;
> > 492 case DP_DS_16BPC:
> > 493 return 16;
> > 494 }
> > 495 fallthrough;
> >
> > This fallthrough is impossible. Probably the way to work around the
> > bogus warning is the change the fallthough to "return 0; /* impossible */"
> > otherwise the fallthrough is sort of misleading...
>
> Won't that be unreachable as well?
>
> Maybe just add the default label to switch (bpc)?
A default switch is going to be unreachable as well... But adding a
return 0 is the older more traditional ways way of marking these so
people and checkers are used to it.
regards,
dan carpenter
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-08-31 9:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-25 11:27 [bug report] drm/dp: annotate implicit fall throughs Dan Carpenter
2020-08-28 9:53 ` Jani Nikula
2020-08-31 9:06 ` Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).