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 | |
| 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
| -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; | 
