From patchwork Thu May 18 14:54:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sricharan Ramabadhran X-Patchwork-Id: 9734597 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 0CDF2600CC for ; Thu, 18 May 2017 14:55:21 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 025EC2884F for ; Thu, 18 May 2017 14:55:21 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EB25D28851; Thu, 18 May 2017 14:55:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 637BE2884F for ; Thu, 18 May 2017 14:55:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=M+357AZoRUvAMfP4G3Rsd4NSWp/w10QKiqQ1w+ZFu4Y=; b=fxvFmw+IHlrgvAVaCHhI7ntE2D QuM6pcXcI9s69+FCzceAK77o6ut9Ey2eoNjZ71FvUX02C7TLP4+VBwIRAifHiAYAmB8b2HIB7wJiD /5ItnJdIFR/Rgu7Po6+DwQSt37OIVTqHiHO86it3nL9RI+XloncZM21E14zR7rUfLA/86ojMZy6Dv 2Ho3cCMUuL3YVPxmZsonIH4zfmV9nW8jgcp8cbnBcB1GCIPKJutagWUfGqLVvZsgy4Q18nisqTnNV 3PBUSS29LkfHJbewD6x5KkRnVDnfTIe+042RaojKOdMoAXIZYPbFt4ABEX+EhScaj+1gz63v0Xz8v EB1qLN0w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1dBMpi-0004Xg-6Y; Thu, 18 May 2017 14:55:18 +0000 Received: from smtp.codeaurora.org ([198.145.29.96]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dBMpS-00033b-3q for linux-arm-kernel@lists.infradead.org; Thu, 18 May 2017 14:55:04 +0000 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 3A6DF60F6E; Thu, 18 May 2017 14:54:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1495119281; bh=V0bQH+XMJjuzGe1yF0rdKxp9z9CxmV+h0NiKjfmcOvc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HgeDQ8tb31IA2M151sm5YMUEvY4ZbaKBgwb9bu4pL3rteILDUlyHEcnzAXWLZe1Sn zMxfIEwpmtgaLMZDCLNXhxIGqIPWwB6nQ8splrvxjPYqF9iJvxsPyp35mSnSxiyTWc p98ef0u1q6x/pPFGQ2d9IDyE4EaVMhbKcN9rik8U= Received: from srichara-linux.qualcomm.com (blr-c-bdr-fw-01_globalnat_allzones-outside.qualcomm.com [103.229.19.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: sricharan@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id E2FB160F67; Thu, 18 May 2017 14:54:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1495119280; bh=V0bQH+XMJjuzGe1yF0rdKxp9z9CxmV+h0NiKjfmcOvc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Bd4wPaxvogGmwgTBG7bRq5YxLYlPLkKWDhe+T7v45kRQwKp4W8w75jH6KBX0JLFI6 20InVybZWKV++ZDPe6JpVOtMUoHuvqyP7/SWkmj40+6KPR+tlsIT1BbDP5l6GPwqrg ECzh7diWZSBeucrj6yQ67hYtRpwP/4VRu4cTjNo8= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org E2FB160F67 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=sricharan@codeaurora.org From: Sricharan R To: robin.murphy@arm.com, will.deacon@arm.com, joro@8bytes.org, lorenzo.pieralisi@arm.com, iommu@lists.linux-foundation.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, m.szyprowski@samsung.com, bhelgaas@google.com, linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org, tn@semihalf.com, hanjun.guo@linaro.org, okaya@codeaurora.org, robh+dt@kernel.org, frowand.list@gmail.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, sudeep.holla@arm.com, rjw@rjwysocki.net, lenb@kernel.org, catalin.marinas@arm.com, arnd@arndb.de, linux-arch@vger.kernel.org, laurent.pinchart@ideasonboard.com, j.neuschaefer@gmx.net, geert@linux-m68k.org, magnus.damm@gmail.com Subject: [PATCH V4 2/4] iommu: of: Ignore all errors except EPROBE_DEFER Date: Thu, 18 May 2017 20:24:15 +0530 Message-Id: <1495119257-26724-2-git-send-email-sricharan@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1495119257-26724-1-git-send-email-sricharan@codeaurora.org> References: <1495119257-26724-1-git-send-email-sricharan@codeaurora.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170518_075502_319285_6036A5D7 X-CRM114-Status: GOOD ( 10.24 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: sricharan@codeaurora.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP While deferring the probe of IOMMU masters, xlate and add_device callbacks called from of_iommu_configure can pass back error values like -ENODEV, which means the IOMMU cannot be connected with that master for real reasons. Before the IOMMU probe deferral, all such errors were ignored. Now all those errors are propagated back, killing the master's probe for such errors. Instead ignore all the errors except EPROBE_DEFER, which is the only one of concern and let the master work without IOMMU, thus restoring the old behavior. Fixes: 7b07cbefb68d ("iommu: of: Handle IOMMU lookup failure with deferred probing or error") Reported-by: Geert Uytterhoeven Tested-by: Magnus Damn Signed-off-by: Sricharan R Reviewed-by: Laurent Pinchart --- [V4] Reworded commit log and changed dev_info to dev_dbg drivers/iommu/of_iommu.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c index e6e9bec..19779b8 100644 --- a/drivers/iommu/of_iommu.c +++ b/drivers/iommu/of_iommu.c @@ -237,6 +237,12 @@ const struct iommu_ops *of_iommu_configure(struct device *dev, ops = ERR_PTR(err); } + /* Ignore all other errors apart from EPROBE_DEFER */ + if (IS_ERR(ops) && (PTR_ERR(ops) != -EPROBE_DEFER)) { + dev_dbg(dev, "Adding to IOMMU failed: %ld\n", PTR_ERR(ops)); + ops = NULL; + } + return ops; }