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

Reply via email to