summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Hellstrom2014-10-31 09:54:22 +0100
committerThomas Hellstrom2014-10-31 09:54:22 +0100
commit0468ab5b791b0d55a7158b70f555157c8d79d0fb (patch)
tree124fe69a5a76fa863d951745f8255033fb4735d7
parentdrm/vmwgfx: fix lock breakage (diff)
downloadkernel-qcow2-linux-0468ab5b791b0d55a7158b70f555157c8d79d0fb.tar.gz
kernel-qcow2-linux-0468ab5b791b0d55a7158b70f555157c8d79d0fb.tar.xz
kernel-qcow2-linux-0468ab5b791b0d55a7158b70f555157c8d79d0fb.zip
drm/vmwgfx: Fix hash key computation
The hash key computation in vmw_cmdbuf_res_remove incorrectly didn't take the resource type into account, contrary to all the other related functions. This becomes important when the cmdbuf resource manager handles more than one resource type. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com>
-rw-r--r--drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c b/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c
index bfeb4b1f2acf..21e9b7f8dad0 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_cmdbuf_res.c
@@ -246,7 +246,8 @@ int vmw_cmdbuf_res_remove(struct vmw_cmdbuf_res_manager *man,
struct drm_hash_item *hash;
int ret;
- ret = drm_ht_find_item(&man->resources, user_key, &hash);
+ ret = drm_ht_find_item(&man->resources, user_key | (res_type << 24),
+ &hash);
if (likely(ret != 0))
return -EINVAL;