drm/amdgpu: fix UVD return code checking
authorChristian König <christian.koenig@amd.com>
Tue, 11 Aug 2015 14:35:54 +0000 (16:35 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 17 Aug 2015 20:51:16 +0000 (16:51 -0400)
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Tested-and-Reviewed-by: Leo Liu <leo.liu@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c

index b56cace92fc6e193bd62b0bdd87b1205e152a567..e7336a95fe59bef088ab49b6b85ea41d649224a7 100644 (file)
@@ -514,8 +514,8 @@ static int amdgpu_uvd_cs_msg(struct amdgpu_uvd_cs_ctx *ctx,
        struct amdgpu_device *adev = ctx->parser->adev;
        int32_t *msg, msg_type, handle;
        void *ptr;
-
-       int i, r;
+       long r;
+       int i;
 
        if (offset & 0x3F) {
                DRM_ERROR("UVD messages must be 64 byte aligned!\n");
@@ -524,14 +524,14 @@ static int amdgpu_uvd_cs_msg(struct amdgpu_uvd_cs_ctx *ctx,
 
        r = reservation_object_wait_timeout_rcu(bo->tbo.resv, true, false,
                                                MAX_SCHEDULE_TIMEOUT);
-       if (r) {
-               DRM_ERROR("Failed waiting for UVD message (%d)!\n", r);
+       if (r < 0) {
+               DRM_ERROR("Failed waiting for UVD message (%ld)!\n", r);
                return r;
        }
 
        r = amdgpu_bo_kmap(bo, &ptr);
        if (r) {
-               DRM_ERROR("Failed mapping the UVD message (%d)!\n", r);
+               DRM_ERROR("Failed mapping the UVD message (%ld)!\n", r);
                return r;
        }