Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1110586ybz; Thu, 16 Apr 2020 03:07:23 -0700 (PDT) X-Google-Smtp-Source: APiQypKocbtC52MhQhbacyKalnXzVw9Q2Gfz8v78UxURanTvkgB0nAxryJkhvOvdLwF4fuqixYok X-Received: by 2002:a50:eb08:: with SMTP id y8mr27933334edp.49.1587031643193; Thu, 16 Apr 2020 03:07:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587031643; cv=none; d=google.com; s=arc-20160816; b=qtYqjkq840hlMcK0VmR17Y126Mw3ZYGIx1FXp0rJ0R6Jhq8n1Xev6u6yOzS28NuxND W9fIbhMUYW5le7+xmfdcFJY4rZqndeAXkDn1Szw1Yv1kpIRUQUOvzbrireig4OWNDUfv XnzWXEPRBEwwNmUq4mipL/Q4nR1oNQHyrhfq9nR3BObod4iPAP5siFDHx4/X+PLkuL2C emZD64RceBF0UtoNF/TiWn8boNwCmjC9nWM88JDbPfcMo3eTDRjq4x1FqMI55vzz/gZV +qqyq1X6wumWuVjSLI1FY5stmZvBOZIJVo9wcle3SQ5R1YxofSZxnk0+dbI2GqMhp2Yp 0blg== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=ubP9rgpDcu6RmdCsClAEay0hF5YFQWx+jW9KRXE2t0Q=; b=C5Gc/+IfOd+XEr1q82PALhkZefIwCugp+O6m29AIzcFOthwRcXP3NmBtOQf/FQUgYc zT4KXjXoTbFq+O676NRgx3tzrtey/nogQ6sFYSrHg1DsZ0eaiyNB97gkGjCRIhh/k9T8 NNzNGM0XcDwPFFraPijQyLTkfYoG3zDaIbY23SkCshhKsgXXltJE/jMNxq5V5ZpAc0te 4WbcvutXayi47xN5lZDHB1EiW9VkcpNHHpxFQWAYjeuRnj7zboG2aEsIRbGk3usTyJrD TwqPbHvmPStRd9pt6gu75pkutVC950VgF+ZosQUHe4DIyeN3IQBIMid45Gx0MEz/C1PA 5a6Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i26si10553969edv.307.2020.04.16.03.06.58; Thu, 16 Apr 2020 03:07:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2504639AbgDPKFj (ORCPT + 99 others); Thu, 16 Apr 2020 06:05:39 -0400 Received: from foss.arm.com ([217.140.110.172]:58348 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2504310AbgDPKFa (ORCPT ); Thu, 16 Apr 2020 06:05:30 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id AEFD6C14; Thu, 16 Apr 2020 03:05:28 -0700 (PDT) Received: from [10.57.59.184] (unknown [10.57.59.184]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 897873F73D; Thu, 16 Apr 2020 03:05:27 -0700 (PDT) Subject: Re: [PATCH] iommu/qcom:fix local_base status check To: Tang Bin , agross@kernel.org, bjorn.andersson@linaro.org, robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org References: <20200402063302.20640-1-tangbin@cmss.chinamobile.com> From: Robin Murphy Message-ID: <7f8cadbf-2568-19f5-610f-6ae7d9846ec6@arm.com> Date: Thu, 16 Apr 2020 11:05:26 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200402063302.20640-1-tangbin@cmss.chinamobile.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2020-04-02 7:33 am, Tang Bin wrote: > Release resources when exiting on error. > > Signed-off-by: Tang Bin > --- > drivers/iommu/qcom_iommu.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/iommu/qcom_iommu.c b/drivers/iommu/qcom_iommu.c > index 4328da0b0..c08aa9651 100644 > --- a/drivers/iommu/qcom_iommu.c > +++ b/drivers/iommu/qcom_iommu.c > @@ -813,8 +813,11 @@ static int qcom_iommu_device_probe(struct platform_device *pdev) > qcom_iommu->dev = dev; > > res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > - if (res) > + if (res) { > qcom_iommu->local_base = devm_ioremap_resource(dev, res); > + if (IS_ERR(qcom_iommu->local_base)) > + return PTR_ERR(qcom_iommu->local_base); > + } ...or just use devm_platform_ioremap_resource() to make the whole thing simpler. Robin. > > qcom_iommu->iface_clk = devm_clk_get(dev, "iface"); > if (IS_ERR(qcom_iommu->iface_clk)) { >