summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYan Zhao2019-03-27 05:54:51 +0100
committerGreg Kroah-Hartman2019-04-17 08:38:50 +0200
commitdf4106f23d0b2eecd13fb89784f7cbba070d2b1c (patch)
tree952af5298cec0f052c84a868a0372214cb54f092
parentalarmtimer: Return correct remaining time (diff)
downloadkernel-qcow2-linux-df4106f23d0b2eecd13fb89784f7cbba070d2b1c.tar.gz
kernel-qcow2-linux-df4106f23d0b2eecd13fb89784f7cbba070d2b1c.tar.xz
kernel-qcow2-linux-df4106f23d0b2eecd13fb89784f7cbba070d2b1c.zip
drm/i915/gvt: do not deliver a workload if its creation fails
commit dade58ed5af6365ac50ff4259c2a0bf31219e285 upstream. in workload creation routine, if any failure occurs, do not queue this workload for delivery. if this failure is fatal, enter into failsafe mode. Fixes: 6d76303553ba ("drm/i915/gvt: Move common vGPU workload creation into scheduler.c") Cc: stable@vger.kernel.org #4.19+ Cc: zhenyuw@linux.intel.com Signed-off-by: Yan Zhao <yan.y.zhao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/drm/i915/gvt/scheduler.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c
index 43aa058e29fc..663a7c9ca3d3 100644
--- a/drivers/gpu/drm/i915/gvt/scheduler.c
+++ b/drivers/gpu/drm/i915/gvt/scheduler.c
@@ -1389,8 +1389,9 @@ intel_vgpu_create_workload(struct intel_vgpu *vgpu, int ring_id,
intel_runtime_pm_put(dev_priv);
}
- if (ret && (vgpu_is_vm_unhealthy(ret))) {
- enter_failsafe_mode(vgpu, GVT_FAILSAFE_GUEST_ERR);
+ if (ret) {
+ if (vgpu_is_vm_unhealthy(ret))
+ enter_failsafe_mode(vgpu, GVT_FAILSAFE_GUEST_ERR);
intel_vgpu_destroy_workload(workload);
return ERR_PTR(ret);
}