On Wed, Jan 6, 2010 at 10:55 PM, Dave Airlie <airl...@gmail.com> wrote:
> On Wed, Dec 30, 2009 at 11:21 AM, Darren Jenkins
> <darrenrjenk...@gmail.com> wrote:
>> There are a couple of array overruns, and some associated confusion in
>> the code.
>> This is just a wild guess at what the code should actually look like.
>
> Alex can you take a look at this, though I suspect its mostly stuff
> that is wrong in the GATOS
> code in userspace as well.
>
> Might need to fix it there as well, the ARRAY_SIZE change is sane, the
> flicker removal
> is plausible, the array sizings also totally wierd.
>

I think the attached patch was the original intent of the h/v size
code.  The ARRAY_SIZE and flicker removal changes look fine.

Alex


> Dave.
>>
>> Coverity CID: 13305 13306
>>
>>
>> Signed-off-by: Darren Jenkins <darrenrjenk...@gmail.com>
>>
>> diff --git drivers/gpu/drm/radeon/radeon_legacy_tv.c 
>> drivers/gpu/drm/radeon/radeon_legacy_tv.c
>> index 3a12bb0..c37535a 100644
>> --- drivers/gpu/drm/radeon/radeon_legacy_tv.c
>> +++ drivers/gpu/drm/radeon/radeon_legacy_tv.c
>> @@ -112,6 +112,8 @@ static const uint16_t vert_timing_NTSC[] = {
>>        0x1817,
>>        0x21d4,
>>        0x0002,
>> +       0x0000,
>> +       0x0000,
>>        0
>>  };
>>
>> @@ -623,9 +625,9 @@ void radeon_legacy_tv_mode_set(struct drm_encoder 
>> *encoder,
>>        }
>>        flicker_removal = (tmp + 500) / 1000;
>>
>> -       if (flicker_removal < 3)
>> -               flicker_removal = 3;
>> -       for (i = 0; i < 6; ++i) {
>> +       if (flicker_removal < 2)
>> +               flicker_removal = 2;
>> +       for (i = 0; i < ARRAY_SIZE(SLOPE_limit); ++i) {
>>                if (flicker_removal == SLOPE_limit[i])
>>                        break;
>>        }
>> diff --git drivers/gpu/drm/radeon/radeon_mode.h 
>> drivers/gpu/drm/radeon/radeon_mode.h
>> index 402369d..abee9a9 100644
>> --- drivers/gpu/drm/radeon/radeon_mode.h
>> +++ drivers/gpu/drm/radeon/radeon_mode.h
>> @@ -218,8 +218,8 @@ struct radeon_mode_info {
>>
>>  };
>>
>> -#define MAX_H_CODE_TIMING_LEN 32
>> -#define MAX_V_CODE_TIMING_LEN 32
>> +#define MAX_H_CODE_TIMING_LEN 16
>> +#define MAX_V_CODE_TIMING_LEN 16
>>
>>  /* need to store these as reading
>>    back code tables is excessive */
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majord...@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/
>>
>

Attachment: 0001-drm-radeon-fix-a-couple-of-array-index-errors.patch
Description: application/mbox

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to