drm/i915/gvt: fix lock not released bug for dispatch_workload() err path
authorZhenyu Wang <zhenyuw@linux.intel.com>
Thu, 24 Nov 2016 07:55:49 +0000 (15:55 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Fri, 25 Nov 2016 01:18:11 +0000 (09:18 +0800)
commit53d6f812c0dbf1c9cad89b1c2118e61c13ca9677
tree1135ed9f9c1415a259320d45999e7cd426f73844
parent550dd77ebb6360120269d9a7102ae2c0cea41290
drm/i915/gvt: fix lock not released bug for dispatch_workload() err path

Need to be careful to release struct_mutext when request alloc
failed and take consistent handling for return status as with
normal go out path. Ensure to check correct workload request in
complete path too.

v2: Add Fixes note

Fixes: 90d27a1b180e ("drm/i915/gvt: fix deadlock in workload_thread")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Pei Zhang <pei.zhang@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/scheduler.c