Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp2302576ybl; Sun, 18 Aug 2019 23:14:52 -0700 (PDT) X-Google-Smtp-Source: APXvYqx+2P8OOs/v36QC4kdF0kGvT+o+yQ+/C6tnzrXXo7N8dIby1jJmjrbsf68K6tMOBhxIF2AU X-Received: by 2002:a17:902:4383:: with SMTP id j3mr20471398pld.69.1566195292683; Sun, 18 Aug 2019 23:14:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566195292; cv=none; d=google.com; s=arc-20160816; b=JD2eVrMZpoL+3UH8AcL5n0eojNkYk5OtFBrx07YgRJlNqIngfez0bGTOcEYBgsbpky jY7ZVQAxziJau6KmhQEp6VwjQOonooc+qdgc5cmE/UKOgxdCMI+I7U1Phy0aM7oOc9iB iIuniLYFeKg8wMNIWa4e5s/kY4gUYLq3bTLZB8ZpkV0MGnU2UdqikGAw5QyizXKIUc5F wgzEih6ScX9/uLyfKWfUmhlpPUxqwKN8WIdhlxUACus69fbcx2AxxTWlCsMl2MfgdyCD uMFiI4BFECaann1M4kZM6XqmSwsb+mlJZZf1lp2mKREgiXQOFLxv97yuwpojpjbyR3WB QO+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=1K+FJ6CIJoLB+Ra61Ci5ieC9QMnlqumSZ/Q4oqstp9Y=; b=qVYKDPrq1UUBZb/yQoxBfqgZqH5PXoQIBQ+EhmCYeq6sOVB0fHEePJfFSnK7P6GUdO A5NnfpBbzExF2UiuRhkwrBx5tyGwFO9boLo3o9ozjzQPjtceoQGMLZaR6xV1S7EAMglJ XJeMx0WRePfKo39j1H7qAlfTB8QBaMPJ5vM4KirqwoGNWDpqap6Kk9LqGDcwnjO4G2Uh 3YgWFj+RmgbwkKmFxUCNT6anJVD5x1TdOoLQzMmIHwxhcLMtaLJ62AgI6J4imkrADaFs FqN3BFD5Qpf7tDV12QeVREMxz6ArWglmtBjxVRLZQ8301JSFx3mxuDT4I6if1ARGt6Nz TrLg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d10si1307207pla.351.2019.08.18.23.14.37; Sun, 18 Aug 2019 23:14:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726550AbfHSGNt (ORCPT + 99 others); Mon, 19 Aug 2019 02:13:49 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:47856 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725946AbfHSGNt (ORCPT ); Mon, 19 Aug 2019 02:13:49 -0400 Received: from DGGEMS402-HUB.china.huawei.com (unknown [172.30.72.59]) by Forcepoint Email with ESMTP id B9C35382D04232DAEC32; Mon, 19 Aug 2019 14:13:44 +0800 (CST) Received: from localhost.localdomain.localdomain (10.175.113.25) by DGGEMS402-HUB.china.huawei.com (10.3.19.202) with Microsoft SMTP Server id 14.3.439.0; Mon, 19 Aug 2019 14:13:34 +0800 From: Wei Yongjun To: Lucas Stach , Russell King , Christian Gmeiner , David Airlie , Daniel Vetter CC: Wei Yongjun , , , , Subject: [PATCH -next] drm/etnaviv: fix missing unlock on error in etnaviv_iommuv1_context_alloc() Date: Mon, 19 Aug 2019 06:17:33 +0000 Message-ID: <20190819061733.50023-1-weiyongjun1@huawei.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT X-Originating-IP: [10.175.113.25] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add the missing unlock before return from function etnaviv_iommuv1_context_alloc() in the error handling case. Fixes: 27b67278e007 ("drm/etnaviv: rework MMU handling") Signed-off-by: Wei Yongjun --- drivers/gpu/drm/etnaviv/etnaviv_iommu.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/etnaviv/etnaviv_iommu.c b/drivers/gpu/drm/etnaviv/etnaviv_iommu.c index aac8dbf3ea56..1a7c89a67bea 100644 --- a/drivers/gpu/drm/etnaviv/etnaviv_iommu.c +++ b/drivers/gpu/drm/etnaviv/etnaviv_iommu.c @@ -140,8 +140,10 @@ etnaviv_iommuv1_context_alloc(struct etnaviv_iommu_global *global) } v1_context = kzalloc(sizeof(*v1_context), GFP_KERNEL); - if (!v1_context) + if (!v1_context) { + mutex_unlock(&global->lock); return NULL; + } v1_context->pgtable_cpu = dma_alloc_wc(global->dev, PT_SIZE, &v1_context->pgtable_dma,