From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751487AbcLDX7a (ORCPT ); Sun, 4 Dec 2016 18:59:30 -0500 Received: from mail-wj0-f193.google.com ([209.85.210.193]:33950 "EHLO mail-wj0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751195AbcLDX73 (ORCPT ); Sun, 4 Dec 2016 18:59:29 -0500 From: Eric Engestrom To: linux-kernel@vger.kernel.org Cc: Eric Engestrom , Pei Zhang , Zhenyu Wang , Zhi Wang , Daniel Vetter , Jani Nikula , David Airlie , igvt-g-dev@ml01.01.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Subject: [PATCH] drm/i915/gvt: fix deadlock in dispatch_workload()'s error path Date: Sun, 4 Dec 2016 23:57:18 +0000 Message-Id: <20161204235718.1102-1-eric@engestrom.ch> X-Mailer: git-send-email 2.10.2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 90d27a1 moved the lock before this error path but forgot to add an unlock here. Fixes: 90d27a1b180e51ef0713 ("drm/i915/gvt: fix deadlock in workload_thread") Cc: Pei Zhang Cc: Zhenyu Wang Signed-off-by: Eric Engestrom --- drivers/gpu/drm/i915/gvt/scheduler.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c index f898df3..cd13c4b 100644 --- a/drivers/gpu/drm/i915/gvt/scheduler.c +++ b/drivers/gpu/drm/i915/gvt/scheduler.c @@ -177,6 +177,7 @@ static int dispatch_workload(struct intel_vgpu_workload *workload) rq = i915_gem_request_alloc(dev_priv->engine[ring_id], shadow_ctx); if (IS_ERR(rq)) { gvt_err("fail to allocate gem request\n"); + mutex_unlock(&dev_priv->drm.struct_mutex); workload->status = PTR_ERR(rq); return workload->status; } -- Cheers, Eric