On Sat, Jun 19, 2021 at 3:40 PM Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > > On Fri, Jun 18, 2021 at 07:35:24PM +0100, Colin King wrote: > > From: Colin Ian King <colin.king@xxxxxxxxxxxxx> > > > > Currently a loop scans through the connector list checking > > for connectors that do not match a specific criteria. The > > use of the continue statement is a little unintuitive and > > can confuse static analysis checking. Invert the criteria > > matching logic and use a break to terminate the loop once > > the first suitable connector has been found. > > > > Thanks to Patrik Jakobsson for explaining the original > > intent of the code and suggesting this change. > > > > Addresses-Coverity: ("Continue has no effect") > > Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> > > --- > > drivers/gpu/drm/gma500/oaktrail_lvds.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/gma500/oaktrail_lvds.c b/drivers/gpu/drm/gma500/oaktrail_lvds.c > > index 432bdcc57ac9..8541dcf237eb 100644 > > --- a/drivers/gpu/drm/gma500/oaktrail_lvds.c > > +++ b/drivers/gpu/drm/gma500/oaktrail_lvds.c > > @@ -113,8 +113,8 @@ static void oaktrail_lvds_mode_set(struct drm_encoder *encoder, > > > > /* Find the connector we're trying to set up */ > > list_for_each_entry(connector, &mode_config->connector_list, head) { > > - if (!connector->encoder || connector->encoder->crtc != crtc) > > - continue; > > + if (connector->encoder && connector->encoder->crtc == crtc) > > + break; > > } > > > > if (!connector) { > > This test is wrong/impossible. It should be: > > if (list_entry_is_head(connector, &mode_config->connector_list, > head)) { Right, we should be back at the head if no match was found. Actually, when looking closer, we should use drm_for_each_connector_iter() when walking the connector list together with proper locking. -Patrik > > regards, > dan carpenter > >