From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 72DB2C433E0 for ; Wed, 1 Jul 2020 08:21:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3DCDA20775 for ; Wed, 1 Jul 2020 08:21:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1593591660; bh=mvYYmiZD0lRjkcahXyyE68VrSfxPw8nxlENouGT4zFU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=qpeSfQ3O0WcQtNvzRUqHIixMRA6lLNh0eSuI1AlF8PovEzIOwC3mRg7OGagRmjz3o 8QWNBgfekYSEEeO5N0kq3awXYfUxxmf/IJmTiXH9fLwrjfgIaaR/vTzk2yJ/pN1IMH krsWHkP4lTpPQMVlXs0FDhBv4f8pj+fJ1YTrcLgo= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728662AbgGAIU6 (ORCPT ); Wed, 1 Jul 2020 04:20:58 -0400 Received: from mail.kernel.org ([198.145.29.99]:57746 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728477AbgGAIU6 (ORCPT ); Wed, 1 Jul 2020 04:20:58 -0400 Received: from pali.im (pali.im [31.31.79.79]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8370120722; Wed, 1 Jul 2020 08:20:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1593591657; bh=mvYYmiZD0lRjkcahXyyE68VrSfxPw8nxlENouGT4zFU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=p+kvMzaED0bKnFHQXu5Z+wC4wUKy/MUOj/uldXaRx3i0CNI7f7jy4bfVAgAZ5gk/0 GTOBdWnhcO35n66pQL3FL1SnBRHNwv0zobP6wsJlT16PsQNvFNV6xWHS0aQkoPRxUm H8cKiVbzSmPeIY+RND3X6F5hpIkCr4VCjyJVtLEA= Received: by pali.im (Postfix) id 8FA80102D; Wed, 1 Jul 2020 10:20:55 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Thomas Petazzoni , Lorenzo Pieralisi , Andrew Murray , Bjorn Helgaas , =?UTF-8?q?Marek=20Beh=C3=BAn?= , Remi Pommarel , Tomasz Maciej Nowak , Xogium Cc: linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] PCI: aardvark: Don't touch PCIe registers if no card connected Date: Wed, 1 Jul 2020 10:20:44 +0200 Message-Id: <20200701082044.4494-1-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200528143141.29956-1-pali@kernel.org> References: <20200528143141.29956-1-pali@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When there is no PCIe card connected and advk_pcie_rd_conf() or advk_pcie_wr_conf() is called for PCI bus which doesn't belong to emulated root bridge, the aardvark driver throws the following error message: advk-pcie d0070000.pcie: config read/write timed out Obviously accessing PCIe registers of disconnected card is not possible. Extend check in advk_pcie_valid_device() function for validating availability of PCIe bus. If PCIe link is down, then the device is marked as Not Found and the driver does not try to access these registers. This is just an optimization to prevent accessing PCIe registers when card is disconnected. Trying to access PCIe registers of disconnected card does not cause any crash, kernel just needs to wait for a timeout. So if card disappear immediately after checking for PCIe link (before accessing PCIe registers), it does not cause any problems. Signed-off-by: Pali Rohár --- Changes in V2: * Update commit message, mention that this is optimization --- drivers/pci/controller/pci-aardvark.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c index 90ff291c24f0..53a4cfd7d377 100644 --- a/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c @@ -644,6 +644,9 @@ static bool advk_pcie_valid_device(struct advk_pcie *pcie, struct pci_bus *bus, if ((bus->number == pcie->root_bus_nr) && PCI_SLOT(devfn) != 0) return false; + if (bus->number != pcie->root_bus_nr && !advk_pcie_link_up(pcie)) + return false; + return true; } -- 2.20.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EC887C433DF for ; Wed, 1 Jul 2020 08:22:07 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BCE1D20775 for ; Wed, 1 Jul 2020 08:22:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="tcQB4Sn2"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="p+kvMzaE" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BCE1D20775 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version: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=oo9ZusbqjCmgLd7b6j7KuTRCuQ+pZQoE5TnYU3owCS0=; b=tcQB4Sn2p/deJqP2Szo6Jl9hZ 69b3Oh0CxLeM3Ri4GUBC4qapgHidWYUtuHD7EdV1s4/XEqDWZ6O2Ur2A6U+3CMNogvQQjBEuGT+vU LVMVBoi0aBfxX8dD+BAI7N7PPlTQCBXlzfwul69BjDWouKXT7xwfK2kbuoGji6HGjT5AjW+lxeFJ5 rNpbf2S5NURIq0H4j3Fk+Hs0PHtoeZNZEl8DRsVX2LX+qtL5fJ90rLTOHbKT5TCgFwUEGL/SBROqX C7Vj3EkKR4e0Jy7YTaqoZmB9mDzvNXJ5zoz9/rDT38ZjFsr8PCgyMchLOo3jKnhrgQqLryltdnkY1 oq+eejs5Q==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jqXzJ-0007xm-12; Wed, 01 Jul 2020 08:21:01 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jqXzG-0007wz-Hv for linux-arm-kernel@lists.infradead.org; Wed, 01 Jul 2020 08:20:59 +0000 Received: from pali.im (pali.im [31.31.79.79]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8370120722; Wed, 1 Jul 2020 08:20:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1593591657; bh=mvYYmiZD0lRjkcahXyyE68VrSfxPw8nxlENouGT4zFU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=p+kvMzaED0bKnFHQXu5Z+wC4wUKy/MUOj/uldXaRx3i0CNI7f7jy4bfVAgAZ5gk/0 GTOBdWnhcO35n66pQL3FL1SnBRHNwv0zobP6wsJlT16PsQNvFNV6xWHS0aQkoPRxUm H8cKiVbzSmPeIY+RND3X6F5hpIkCr4VCjyJVtLEA= Received: by pali.im (Postfix) id 8FA80102D; Wed, 1 Jul 2020 10:20:55 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Thomas Petazzoni , Lorenzo Pieralisi , Andrew Murray , Bjorn Helgaas , =?UTF-8?q?Marek=20Beh=C3=BAn?= , Remi Pommarel , Tomasz Maciej Nowak , Xogium Subject: [PATCH v2] PCI: aardvark: Don't touch PCIe registers if no card connected Date: Wed, 1 Jul 2020 10:20:44 +0200 Message-Id: <20200701082044.4494-1-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200528143141.29956-1-pali@kernel.org> References: <20200528143141.29956-1-pali@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200701_042058_948856_434AD6C5 X-CRM114-Status: GOOD ( 14.41 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org V2hlbiB0aGVyZSBpcyBubyBQQ0llIGNhcmQgY29ubmVjdGVkIGFuZCBhZHZrX3BjaWVfcmRfY29u ZigpIG9yCmFkdmtfcGNpZV93cl9jb25mKCkgaXMgY2FsbGVkIGZvciBQQ0kgYnVzIHdoaWNoIGRv ZXNuJ3QgYmVsb25nIHRvIGVtdWxhdGVkCnJvb3QgYnJpZGdlLCB0aGUgYWFyZHZhcmsgZHJpdmVy IHRocm93cyB0aGUgZm9sbG93aW5nIGVycm9yIG1lc3NhZ2U6CgogIGFkdmstcGNpZSBkMDA3MDAw MC5wY2llOiBjb25maWcgcmVhZC93cml0ZSB0aW1lZCBvdXQKCk9idmlvdXNseSBhY2Nlc3Npbmcg UENJZSByZWdpc3RlcnMgb2YgZGlzY29ubmVjdGVkIGNhcmQgaXMgbm90IHBvc3NpYmxlLgoKRXh0 ZW5kIGNoZWNrIGluIGFkdmtfcGNpZV92YWxpZF9kZXZpY2UoKSBmdW5jdGlvbiBmb3IgdmFsaWRh dGluZwphdmFpbGFiaWxpdHkgb2YgUENJZSBidXMuIElmIFBDSWUgbGluayBpcyBkb3duLCB0aGVu IHRoZSBkZXZpY2UgaXMgbWFya2VkCmFzIE5vdCBGb3VuZCBhbmQgdGhlIGRyaXZlciBkb2VzIG5v dCB0cnkgdG8gYWNjZXNzIHRoZXNlIHJlZ2lzdGVycy4KClRoaXMgaXMganVzdCBhbiBvcHRpbWl6 YXRpb24gdG8gcHJldmVudCBhY2Nlc3NpbmcgUENJZSByZWdpc3RlcnMgd2hlbiBjYXJkCmlzIGRp c2Nvbm5lY3RlZC4gVHJ5aW5nIHRvIGFjY2VzcyBQQ0llIHJlZ2lzdGVycyBvZiBkaXNjb25uZWN0 ZWQgY2FyZCBkb2VzCm5vdCBjYXVzZSBhbnkgY3Jhc2gsIGtlcm5lbCBqdXN0IG5lZWRzIHRvIHdh aXQgZm9yIGEgdGltZW91dC4gU28gaWYgY2FyZApkaXNhcHBlYXIgaW1tZWRpYXRlbHkgYWZ0ZXIg Y2hlY2tpbmcgZm9yIFBDSWUgbGluayAoYmVmb3JlIGFjY2Vzc2luZyBQQ0llCnJlZ2lzdGVycyks IGl0IGRvZXMgbm90IGNhdXNlIGFueSBwcm9ibGVtcy4KClNpZ25lZC1vZmYtYnk6IFBhbGkgUm9o w6FyIDxwYWxpQGtlcm5lbC5vcmc+CgotLS0KQ2hhbmdlcyBpbiBWMjoKKiBVcGRhdGUgY29tbWl0 IG1lc3NhZ2UsIG1lbnRpb24gdGhhdCB0aGlzIGlzIG9wdGltaXphdGlvbgotLS0KIGRyaXZlcnMv cGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFh cmR2YXJrLmMgYi9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jCmluZGV4IDkw ZmYyOTFjMjRmMC4uNTNhNGNmZDdkMzc3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjaS9jb250cm9s bGVyL3BjaS1hYXJkdmFyay5jCisrKyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2 YXJrLmMKQEAgLTY0NCw2ICs2NDQsOSBAQCBzdGF0aWMgYm9vbCBhZHZrX3BjaWVfdmFsaWRfZGV2 aWNlKHN0cnVjdCBhZHZrX3BjaWUgKnBjaWUsIHN0cnVjdCBwY2lfYnVzICpidXMsCiAJaWYgKChi dXMtPm51bWJlciA9PSBwY2llLT5yb290X2J1c19ucikgJiYgUENJX1NMT1QoZGV2Zm4pICE9IDAp CiAJCXJldHVybiBmYWxzZTsKIAorCWlmIChidXMtPm51bWJlciAhPSBwY2llLT5yb290X2J1c19u ciAmJiAhYWR2a19wY2llX2xpbmtfdXAocGNpZSkpCisJCXJldHVybiBmYWxzZTsKKwogCXJldHVy biB0cnVlOwogfQogCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0t a2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==