From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 01/10] drm/msm: use mutex_lock_interruptible for submit ioctl Date: Thu, 16 Jun 2016 17:22:26 -0400 Message-ID: <1466112155-25061-2-git-send-email-robdclark@gmail.com> References: <1466112155-25061-1-git-send-email-robdclark@gmail.com> Return-path: Received: from mail-qk0-f193.google.com ([209.85.220.193]:36346 "EHLO mail-qk0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754695AbcFPVWm (ORCPT ); Thu, 16 Jun 2016 17:22:42 -0400 Received: by mail-qk0-f193.google.com with SMTP id l81so9276811qke.3 for ; Thu, 16 Jun 2016 14:22:42 -0700 (PDT) In-Reply-To: <1466112155-25061-1-git-send-email-robdclark@gmail.com> Sender: linux-arm-msm-owner@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org To: dri-devel@lists.freedesktop.org Cc: Archit Taneja , freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, Rob Clark Be kinder to things that do lots of signal handling (ie. Xorg) Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/msm_gem_submit.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c index eb4bb8b..ea5f709 100644 --- a/drivers/gpu/drm/msm/msm_gem_submit.c +++ b/drivers/gpu/drm/msm/msm_gem_submit.c @@ -372,11 +372,15 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data, if (args->nr_cmds > MAX_CMDS) return -EINVAL; - submit = submit_create(dev, gpu, args->nr_bos); - if (!submit) - return -ENOMEM; + ret = mutex_lock_interruptible(&dev->struct_mutex); + if (ret) + return ret; - mutex_lock(&dev->struct_mutex); + submit = submit_create(dev, gpu, args->nr_bos); + if (!submit) { + ret = -ENOMEM; + goto out_unlock; + } ret = submit_lookup_objects(submit, args, file); if (ret) @@ -462,6 +466,7 @@ out: submit_cleanup(submit); if (ret) msm_gem_submit_free(submit); +out_unlock: mutex_unlock(&dev->struct_mutex); return ret; } -- 2.5.5