Hi Hans,

> > -           adv7511_edid_rd(sd, 256, &state->edid.data[segment * 256]);
> > +           err = adv7511_edid_rd(sd, 256, &state->edid.data[segment * 
> > 256]);
> >             adv7511_dbg_dump_edid(2, debug, sd, segment, 
> > &state->edid.data[segment * 256]);
> 
> Only call adv7511_dbg_dump_edid if err >= 0.

Yes.

> 
> >             if (segment == 0) {
> 
> Change condition to: err >= 0 && segment == 0

Yes.

> 
> >                     state->edid.blocks = state->edid.data[0x7e] + 1;
> >                     v4l2_dbg(1, debug, sd, "%s: %d blocks in total\n", 
> > __func__, state->edid.blocks);
> >             }

So I guarded the above block with an 'if (!err)' clause.
adv7511_edid_rd() returns either 0 or errno, so we can take the above
simpler condition.



> > -           if (!edid_verify_crc(sd, segment) ||
> > -               !edid_verify_header(sd, segment)) {
> > +           if (err < 0 || !edid_verify_crc(sd, segment) || 
> > !edid_verify_header(sd, segment)) {
> >                     /* edid crc error, force reread of edid segment */
> 
> Hmm, this comment is a bit out of date. Change to:
> 
>                       /*
>                        * Couldn't read EDID or EDID has invalid content.
>                        * Force reread of EDID segment.
>                        */

I updated the comment but kept it a oneliner.

> 
> >                     v4l2_err(sd, "%s: edid crc or header error\n", 
> > __func__);
> 
> Only show this message if err >= 0. For err < 0 the adv7511_edid_rd() already
> logs an error.

Yes. I used 'if (!err)' again here.

Will resend in a minute, thanks for the review!

All the best,

   Wolfram

Attachment: signature.asc
Description: PGP signature

Reply via email to