drm/etnaviv: rename etnaviv_gem_vaddr to etnaviv_gem_vmap
[linux-2.6-block.git] / drivers / gpu / drm / etnaviv / etnaviv_gem.c
index 9f77c3b94cc696c4683d18da3e7848fb040874c6..1da3d48054c2037adf541f640f170d7c2472f979 100644 (file)
@@ -353,7 +353,7 @@ void etnaviv_gem_put_iova(struct etnaviv_gpu *gpu, struct drm_gem_object *obj)
        drm_gem_object_unreference_unlocked(obj);
 }
 
-void *etnaviv_gem_vaddr(struct drm_gem_object *obj)
+void *etnaviv_gem_vmap(struct drm_gem_object *obj)
 {
        struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
 
@@ -361,8 +361,10 @@ void *etnaviv_gem_vaddr(struct drm_gem_object *obj)
        if (!etnaviv_obj->vaddr) {
                struct page **pages = etnaviv_gem_get_pages(etnaviv_obj);
 
-               if (IS_ERR(pages))
-                       return ERR_CAST(pages);
+               if (IS_ERR(pages)) {
+                       mutex_unlock(&etnaviv_obj->lock);
+                       return NULL;
+               }
 
                etnaviv_obj->vaddr = vmap(pages, obj->size >> PAGE_SHIFT,
                                VM_MAP, pgprot_writecombine(PAGE_KERNEL));