Skip to content

Commit cc3251d

Browse files
committed
Merge tag 'gvt-fixes-2020-02-12' of https://github.com/intel/gvt-linux into drm-intel-next-fixes
gvt-fixes-2020-02-12 - fix possible high-order allocation fail for late load (Igor) - fix one missed lock for ppgtt mm LRU list (Igor) Signed-off-by: Jani Nikula <[email protected]> From: Zhenyu Wang <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents 2933803 + 0e9d7bb commit cc3251d

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

drivers/gpu/drm/i915/gvt/firmware.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ void intel_gvt_free_firmware(struct intel_gvt *gvt)
146146
clean_firmware_sysfs(gvt);
147147

148148
kfree(gvt->firmware.cfg_space);
149-
kfree(gvt->firmware.mmio);
149+
vfree(gvt->firmware.mmio);
150150
}
151151

152152
static int verify_firmware(struct intel_gvt *gvt,
@@ -229,7 +229,7 @@ int intel_gvt_load_firmware(struct intel_gvt *gvt)
229229

230230
firmware->cfg_space = mem;
231231

232-
mem = kmalloc(info->mmio_size, GFP_KERNEL);
232+
mem = vmalloc(info->mmio_size);
233233
if (!mem) {
234234
kfree(path);
235235
kfree(firmware->cfg_space);

drivers/gpu/drm/i915/gvt/gtt.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1956,7 +1956,11 @@ void _intel_vgpu_mm_release(struct kref *mm_ref)
19561956

19571957
if (mm->type == INTEL_GVT_MM_PPGTT) {
19581958
list_del(&mm->ppgtt_mm.list);
1959+
1960+
mutex_lock(&mm->vgpu->gvt->gtt.ppgtt_mm_lock);
19591961
list_del(&mm->ppgtt_mm.lru_list);
1962+
mutex_unlock(&mm->vgpu->gvt->gtt.ppgtt_mm_lock);
1963+
19601964
invalidate_ppgtt_mm(mm);
19611965
} else {
19621966
vfree(mm->ggtt_mm.virtual_ggtt);

0 commit comments

Comments
 (0)