On Thu, Oct 6, 2022 at 8:39 PM Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Thu, Oct 6, 2022 at 1:51 AM Sudip Mukherjee (Codethink) > <sudipm.mukherjee@xxxxxxxxx> wrote: > > > > This is only seen with gcc-11, gcc-12 builds are ok. > > Hmm. This seems to be some odd gcc issue. > <snip> > > The fix *MAY* be to just add a '&& i < MAX_DWB_PIPES' to that loop > too, and then gcc will see that both i and j are always 0, and that > the code is unreachable and not warn about it. Hmm? Can you test that? Builds fine with the change you suggested. Here is the diff. diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c index ae13887756bf..51571245c49a 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c @@ -520,7 +520,7 @@ bool dc_stream_remove_writeback(struct dc *dc, } /* remove writeback info for disabled writeback pipes from stream */ - for (i = 0, j = 0; i < stream->num_wb_info && j < MAX_DWB_PIPES; i++) { + for (i = 0, j = 0; i < stream->num_wb_info && j < MAX_DWB_PIPES && i < MAX_DWB_PIPES; i++) { if (stream->writeback_info[i].wb_enabled) { if (i != j) /* trim the array */ -- Regards Sudip