diff options
author | Zou Nan hai <nanhai.zou@intel.com> | 2008-01-15 09:19:02 +0800 |
---|---|---|
committer | Zou Nan hai <nanhai.zou@intel.com> | 2008-01-15 09:19:02 +0800 |
commit | 806c1929dcd344f6eab3133584a9c4ce9f3f47bc (patch) | |
tree | 217db4d5a0d7648d726b70ad7e156621fc31715f /linux-core | |
parent | 62df4f0a48776e55443d7f61a41e1ed0fb77b6ed (diff) |
this is to fix a deadloop in drm hang system issue.
(1 << bits) is an undefined value when bits == 32.
gcc may generate 1 with this expression
which will lead to an infinite retry loop in
drm_ht_just_insert_please.
Because of the different implement of hash_long,
this issue is more frequenly see on 64 bit system
Diffstat (limited to 'linux-core')
-rw-r--r-- | linux-core/drm_object.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/linux-core/drm_object.c b/linux-core/drm_object.c index 5ade6178..7d2e3a2b 100644 --- a/linux-core/drm_object.c +++ b/linux-core/drm_object.c @@ -44,7 +44,7 @@ int drm_add_user_object(struct drm_file *priv, struct drm_user_object *item, item->owner = priv; ret = drm_ht_just_insert_please(&dev->object_hash, &item->hash, - (unsigned long)item, 32, 0, 0); + (unsigned long)item, 31, 0, 0); if (ret) return ret; |