[PATCH] DRM: ignore invalid EDID extensions

Sam Tygier samtygier at yahoo.co.uk
Wed Sep 22 14:42:47 PDT 2010


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;".

>> 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?

> Also, we shouldn't be converting "checksum failure" to "display
> disconnected".  That's the real bug here.

In my case it would still need to return base block, as that correctly contains all the modes and stuff.

Thanks

Sam


More information about the dri-devel mailing list