From patchwork Thu May 18 14:54:16 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sricharan Ramabadhran X-Patchwork-Id: 9734607 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 B966E6022E for ; Thu, 18 May 2017 14:55:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AE46E28851 for ; Thu, 18 May 2017 14:55:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 978AC28858; Thu, 18 May 2017 14:55:49 +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=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CC12B28856 for ; Thu, 18 May 2017 14:55:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932879AbdEROyx (ORCPT ); Thu, 18 May 2017 10:54:53 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:34080 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932282AbdEROyt (ORCPT ); Thu, 18 May 2017 10:54:49 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id D298360FED; Thu, 18 May 2017 14:54:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1495119288; bh=ZQUxK/4NPromYdunkZmcjSLRQx8MQfJNKV3AMGArWng=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aDyZeB2M0mG72GPIhNQe3RxIsi0GXFQza8swyeMTIvVYqVRd2X1t/K0zu4cyu0vId y9eyyq5QR6Nlv3OuUPIU+ldztlItiASbEYTfr+3mjCRZSDjF45js8WqVC9npmueoXk 9M9HzVCfaXFMqKQLd1QuSt5sgYFq7rFEIbFhq240= 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 9D85860DAB; Thu, 18 May 2017 14:54:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1495119287; bh=ZQUxK/4NPromYdunkZmcjSLRQx8MQfJNKV3AMGArWng=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lr+S5YoKOs4gWRZW4PBJP2/7St99EJ/A/GdBo1D8EcfytnNVxb8wWs0uIfPZD5TUA Z+7lhZnQUoBUCqTyITFaEFj8nlmMvfaTppOwH+wEjRSyoqnt+mQCwhMmEmaq50IBVi 1+SQlP1hSHOFzofeZxCZqd8+d1QNTHrEzfH4ssoY= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 9D85860DAB 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 Cc: sricharan@codeaurora.org Subject: [PATCH V4 3/4] ACPI/IORT: Ignore all errors except EPROBE_DEFER Date: Thu, 18 May 2017 20:24:16 +0530 Message-Id: <1495119257-26724-3-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> Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP While deferring the probe of IOMMU masters, xlate and add_device callbacks called from iort_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: 5a1bb638d567 ("drivers: acpi: Handle IOMMU lookup failure with deferred probing or error") Signed-off-by: Sricharan R --- [V4] Added this patch newly. drivers/acpi/arm64/iort.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c index c5fecf9..16e101f 100644 --- a/drivers/acpi/arm64/iort.c +++ b/drivers/acpi/arm64/iort.c @@ -782,6 +782,12 @@ const struct iommu_ops *iort_iommu_configure(struct device *dev) if (err) 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; }