|
@@ -148,7 +148,8 @@ static __inline__ struct page *drm_do_vm_shm_nopage(struct vm_area_struct *vma,
|
|
|
|
|
|
offset = address - vma->vm_start;
|
|
offset = address - vma->vm_start;
|
|
i = (unsigned long)map->handle + offset;
|
|
i = (unsigned long)map->handle + offset;
|
|
- page = vmalloc_to_page((void *)i);
|
|
|
|
|
|
+ page = (map->type == _DRM_CONSISTENT) ?
|
|
|
|
+ virt_to_page((void *)i) : vmalloc_to_page((void *)i);
|
|
if (!page)
|
|
if (!page)
|
|
return NOPAGE_OOM;
|
|
return NOPAGE_OOM;
|
|
get_page(page);
|
|
get_page(page);
|