Merge tag 'drm-intel-next-2019-04-04' into gvt-next
[linux-2.6-microblaze.git] / drivers / gpu / drm / i915 / gvt / gtt.c
index c7103dd..9ba1ed8 100644 (file)
@@ -2489,6 +2489,7 @@ static void clean_spt_oos(struct intel_gvt *gvt)
        list_for_each_safe(pos, n, &gtt->oos_page_free_list_head) {
                oos_page = container_of(pos, struct intel_vgpu_oos_page, list);
                list_del(&oos_page->list);
+               free_page((unsigned long)oos_page->mem);
                kfree(oos_page);
        }
 }
@@ -2509,6 +2510,12 @@ static int setup_spt_oos(struct intel_gvt *gvt)
                        ret = -ENOMEM;
                        goto fail;
                }
+               oos_page->mem = (void *)__get_free_pages(GFP_KERNEL, 0);
+               if (!oos_page->mem) {
+                       ret = -ENOMEM;
+                       kfree(oos_page);
+                       goto fail;
+               }
 
                INIT_LIST_HEAD(&oos_page->list);
                INIT_LIST_HEAD(&oos_page->vm_list);