[PATCH] DRM: ignore invalid EDID extensions

Adam Jackson ajax at redhat.com
Wed Sep 22 14:55:09 PDT 2010


On Wed, 2010-09-22 at 22:42 +0100, Sam Tygier wrote:
> On 22/09/10 21:59, Adam Jackson wrote:
> > On Tue, 2010-09-21 at 23:02 +0100, Sam Tygier wrote:
> >> Currently an invalid EDID extension will cause the whole EDID to be
> >> considered invalid. Instead just drop the extension, and return the
> >> valid base block. The base block is modified to not claim to have
> >> extensions, and update the checksum.
> >
> > This does not appear to be what your patch does.  I mean, yes, if
> > there's only one extension block, that's what it does, but if there's
> > more than one...
> 
> I could modify it to skip the only invalid extension blocks. As my
> monitor only claims to have 1 extension block, i could not test this
> properly. I also spotted that I should make sure that my fix is not
> run when the base block fails the checksum 4 times. May it should be
> put within the for loop, replacing "goto carp;".

Yeah, I hate to just drop extension blocks, but it's better than the
alternative.  They're optional for a reason I suppose.

> >> For my EIZO S2242W the base block is fine, but the extension block is
> >> all zeros. Without this patch I get no X and no VTs.
> >
> > I suspect what's actually happening there is that we're failing to get
> > the extension block, not that it's being returned as zeros.
> 
> Could this be fixed? Anything I could try?

Depends on what your driver is, I suspect.  Did it ever work?

- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20100922/d9dd08b5/attachment-0001.pgp>


More information about the dri-devel mailing list