diff options
author | Yan Zhao | 2019-03-27 05:54:51 +0100 |
---|---|---|
committer | Greg Kroah-Hartman | 2019-04-17 08:38:50 +0200 |
commit | df4106f23d0b2eecd13fb89784f7cbba070d2b1c (patch) | |
tree | 952af5298cec0f052c84a868a0372214cb54f092 | |
parent | alarmtimer: Return correct remaining time (diff) | |
download | kernel-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.c | 5 |
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); } |