drm_edid: There should be 6 Standard Timings
authorDan Carpenter <error27@gmail.com>
Fri, 14 May 2010 11:06:19 +0000 (13:06 +0200)
committerDave Airlie <airlied@redhat.com>
Tue, 18 May 2010 05:56:14 +0000 (15:56 +1000)
commit96525a2f7448c427bb8d99240907a6bd2d9e818c
tree2794c2f359003f432d40cba0e007531f8fadeb02
parentf405a1ab2bf316b1969fc5355891e5dff4e1a54c
drm_edid: There should be 6 Standard Timings

Smatch complained that we initialize 6 elements in add_detailed_modes()
but the timings[] array is declared with 5 elements.  Adam Jackson
verified that 6 is the correct number of timings.

On Mon, May 10, 2010 at 12:08:24PM -0400, Adam Jackson wrote:
> > >                 struct std_timing timings[5];
> > >                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> This decl is wrong, should be 6.  From the 1.4 spec:
>
> "Six additional Standard Timings may be listed as a display descriptor
> (tag #FAh)."
>
> The 1.3 spec is a little less explicit about it, but does show 6
> standard timing codes in the 0xFA detailed subblock, terminated by 0x0A
> in the 18th byte.  I don't have the docs for 1.2 or earlier, but we're
> paranoid enough about not adding broken timings that we should be fine.

This patch is basically a clean up, because timings[] is declared inside
a union and increasing the number of elements here doesn't change the
overall size of the union.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
include/drm/drm_edid.h