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.
#endif
if (use_hashed_handle) {
return drm_ht_just_insert_please(&dev->map_hash, hash,
user_token, 32 - PAGE_SHIFT - 3,
PAGE_SHIFT, DRM_MAP_HASH_OFFSET);
} else {
if (!use_hashed_handle) {
int ret;
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);
}
/**