Allow multiple addMaps with the same 32-bit map offset.

(Reported by Dave Airlie)
main
Thomas Hellstrom 2006-08-23 11:31:10 +02:00
parent 8dfe917cb2
commit 459b234d79
1 changed files with 8 additions and 6 deletions

View File

@ -78,14 +78,16 @@ int drm_map_handle(drm_device_t *dev, drm_hash_item_t *hash,
#error Unsupported long size. Neither 64 nor 32 bits. #error Unsupported long size. Neither 64 nor 32 bits.
#endif #endif
if (use_hashed_handle) { if (!use_hashed_handle) {
return drm_ht_just_insert_please(&dev->map_hash, hash, int ret;
user_token, 32 - PAGE_SHIFT - 3,
PAGE_SHIFT, DRM_MAP_HASH_OFFSET);
} else {
hash->key = user_token; hash->key = user_token;
return drm_ht_insert_item(&dev->map_hash, hash); ret = drm_ht_insert_item(&dev->map_hash, hash);
if (!ret)
return 0;
} }
return drm_ht_just_insert_please(&dev->map_hash, hash,
user_token, 32 - PAGE_SHIFT - 3,
PAGE_SHIFT, DRM_MAP_HASH_OFFSET);
} }
/** /**