From patchwork Wed May 17 11:30:08 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sricharan Ramabadhran X-Patchwork-Id: 9730903 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 68FD6602DB for ; Wed, 17 May 2017 11:31:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 59DD622B26 for ; Wed, 17 May 2017 11:31:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4CD1A28753; Wed, 17 May 2017 11:31:06 +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 D4C0922B26 for ; Wed, 17 May 2017 11:31:05 +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=/r7vHWqmn70yYFuWIGPN6kVozAy3duXXPaZmpLMQpZE=; b=CchJlwVxkUAC8Xyeo1nyB/ZYCn Xuib0LNFwdyJvyotfJsAZdmrxPSzCeb26z2PGNLEaaky5L+VewI/NbA0zyZq75zETp7oPlz/sa91M UTM8Un5rP0tszUPJJwEZzjVJu7SaHzvVjv1c34/2nKTY1YDYoxz54S2gocwQ6GMJwl0uBNrBn8XVL IqwBCS2sVh803LERyXdr5Hz/E5UXNw8CSJK1LkX6ewaDFJG+lSbzXccrOzffC2bb+cMrOJtAEXw7J uJBS9kIhv5qPvJ0XHRmRNAc15MJ3lqfGeKkfO8t8uESopH5KIy3f7HxfXE/8KsBQbpTMlAPdiB+4j J3OXLQyQ==; 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 1dAxAW-0005CW-Lh; Wed, 17 May 2017 11:31:04 +0000 Received: from smtp.codeaurora.org ([198.145.29.96]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dAxAJ-0004vA-IA for linux-arm-kernel@lists.infradead.org; Wed, 17 May 2017 11:30:54 +0000 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 6DDAF60D93; Wed, 17 May 2017 11:30:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1495020634; bh=4dkyJxDDtr4YKADG1vFxomxxo8BrfTJD7jKVBXQKvqo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HmbyLfO6gdJ6LZLXRLtLJlb/7Eyo3PG66mjd5192xOPNBjrmm8YmOa5nsFvNKDtON B2i/pntKRqhbLHFh5XN9xIUdiBIdk0EeaRzYJ7X6OUUd5jOQCwdVMSrw4HDPMMbUze pVIuWcBZmF95PoyeGXvy6H8LbofXMvTqWortOto4= 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 9830560DB2; Wed, 17 May 2017 11:30:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1495020633; bh=4dkyJxDDtr4YKADG1vFxomxxo8BrfTJD7jKVBXQKvqo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iqii58sPSGrB8uZQNgNBxBIq6PxI304S4SyoCm8nHE8RsKPAZQYQQ1TKk+ErYaFJh Fu1Z5iaoHPcD71t27jBQd/DJy6lAnnsXNrYmQ5SzxdkqdSVoNlcm0nnYoZQxBN59Ka 4w7bjQfxIpGNPEec7c+ELDMANvVliU6g3IjpM+s4= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 9830560DB2 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, magnus.damm@gmail.com, geert@linux-m68k.org, j.neuschaefer@gmx.net Subject: [PATCH 2/3] iommu: of: Ignore all errors except EPROBE_DEFER Date: Wed, 17 May 2017 17:00:08 +0530 Message-Id: <1495020609-13397-2-git-send-email-sricharan@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1495020609-13397-1-git-send-email-sricharan@codeaurora.org> References: <1495020609-13397-1-git-send-email-sricharan@codeaurora.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170517_043051_817235_E0496499 X-CRM114-Status: GOOD ( 10.39 ) 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 callback can pass back error values like -ENODEV, which means iommu cannot be connected with that master for real reasons. So rather than killing the master's probe for such errors, just ignore the errors and let the master work without an iommu. 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 --- 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..2ec2f0b 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_info(dev, "Adding to iommu failed: %ld\n", PTR_ERR(ops)); + ops = NULL; + } + return ops; }