diff mbox

drm/radeon: Fix an always-false-comparison

Message ID 1301634737-12956-1-git-send-email-tailai.ly@taobao.com (mailing list archive)
State New, archived
Headers show

Commit Message

Liu Yuan April 1, 2011, 5:12 a.m. UTC
None

Comments

Alex Deucher April 2, 2011, 1:51 p.m. UTC | #1
On Fri, Apr 1, 2011 at 1:12 AM, 'Liu Yuan <namei.unix@gmail.com> wrote:
> From: Liu Yuan <tailai.ly@taobao.com>
>
> In the function atom_op_delay() of drivers/gpu/drm/radeon/atom.c,
> the comparison performed in the udelay() is always false due to
> that the unsigned-char is compared to an integer 20000.
>

nack.  the delay count is only an 8 bit field.

Alex

> Signed-off-by: Liu Yuan <tailai.ly@taobao.com>
> ---
>  drivers/gpu/drm/radeon/atom.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c
> index 258fa5e..e248211 100644
> --- a/drivers/gpu/drm/radeon/atom.c
> +++ b/drivers/gpu/drm/radeon/atom.c
> @@ -648,7 +648,7 @@ static void atom_op_compare(atom_exec_context *ctx, int *ptr, int arg)
>
>  static void atom_op_delay(atom_exec_context *ctx, int *ptr, int arg)
>  {
> -       uint8_t count = U8((*ptr)++);
> +       uint32_t count = U32((*ptr)++);
>        SDEBUG("   count: %d\n", count);
>        if (arg == ATOM_UNIT_MICROSEC)
>                udelay(count);
> --
> 1.7.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c
index 258fa5e..e248211 100644
--- a/drivers/gpu/drm/radeon/atom.c
+++ b/drivers/gpu/drm/radeon/atom.c
@@ -648,7 +648,7 @@  static void atom_op_compare(atom_exec_context *ctx, int *ptr, int arg)
 
 static void atom_op_delay(atom_exec_context *ctx, int *ptr, int arg)
 {
-	uint8_t count = U8((*ptr)++);
+	uint32_t count = U32((*ptr)++);
 	SDEBUG("   count: %d\n", count);
 	if (arg == ATOM_UNIT_MICROSEC)
 		udelay(count);