Received: by 2002:ab2:6d45:0:b0:1fb:d597:ff75 with SMTP id d5csp402419lqr; Wed, 5 Jun 2024 09:12:23 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCW/Wd2OXdP9Q8p9Fc7wqHR6Z7/aN2t7J7ppnUfyqQaP2aw01mzfRDUCQiNhoFahDc0j96Ti13DypBpvVUm8QKsrWtPc02GaSnbcqn+YAw== X-Google-Smtp-Source: AGHT+IEvczxyFkDonKiPj21PF78cGIrT5WEYY8qGAxnp5yNN9vMdwdHKjEz4GN93Py1JpNVwhHlg X-Received: by 2002:a05:6a00:98a:b0:6e9:38d0:5019 with SMTP id d2e1a72fcca58-703e56fb190mr3612249b3a.0.1717603942667; Wed, 05 Jun 2024 09:12:22 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1717603942; cv=pass; d=google.com; s=arc-20160816; b=kI/wV5e1+GjlN5gToWNvUTm8uNjiwNht+iE9clAXn28w1/M8RcBiqtIRh4tzwEmfaj XQIpn52HpV4QACzalz7DkJR0OdlpwB2m34EN0RFKHJtCqf23+cuwbH97P0BrdtSGsdQu CgLTEvunjQ8nzUOLmeHGHviB8lDEwyl2mLBJSg6UEzFO4xu714t3VEOCV12M7ga1Lgl3 L5vfmZcnADUOs5RFe6adUgcjZwsYF2HYf/VH8wwSKEHGTQVuz6j8EyoeBD2kUmOhTtqT 0zMEbb8E7cxTQmq69jDJjKwE97BcJKy04pjImnLdmqPWypBhakKNTG+kOXJhUZdvK3ob qWVA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=a6oYdVTn5pC2+bjx6H37MKAuuTJqU9KFn0MfVxcpXjI=; fh=raGbazaj5wbroZyp+ZtGw7AXwHT3mr5QbsQOh80jeLQ=; b=tFj+efox4GL2HXXHcCKWEOgy/9SUOa65lMZGHm5cw2kjT/m35bhsQzcrCqRscVluck wu9FZ83PjZ8AoKWOhZNIrMBwfIorgCA2N8PesK+EE1ImN+cAT69BK78RkuQtkOj/jF4c zNCkBfMelXj4aNI6GlixuESpAC12lE76teiAnrtnxLHKLKG5IXXGpzqcAArOi444dxud 3wj3NPp4zbgZKomg8kkLQ4ZO4pUEzMJy76Bmz1u+p78j2rS1cgYvGiiLklETe8EuZ39W 4oQDHtRJ+4z4pEluHenoEcCnUofPwlKd6wOrdCOXnYtMey5WwC8ugjJ0ixqOmplVS61x Lt2Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PLXEY2ZU; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-202365-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-202365-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id 41be03b00d2f7-6c35af45faesi3834189a12.440.2024.06.05.09.12.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Jun 2024 09:12:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-202365-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=PLXEY2ZU; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-202365-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-202365-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 0FEE7284222 for ; Wed, 5 Jun 2024 12:06:50 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 71C691ACAF0; Wed, 5 Jun 2024 11:52:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PLXEY2ZU" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 909961ACACA; Wed, 5 Jun 2024 11:52:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717588365; cv=none; b=tQs/zH99VXAvC3bKnrXsjkAtkZ70R5JNVfOXRu5nfmfnCX6LWID0HeHUHhsmDqXwop8a/a1wPUCgdmH04OkkfzhgP44GYmL2V+NbVfzj2FFyccS9D3V7GEJCq/oODg2VDsWbN3Xdq4B3wvMBEB56tHSkBBMKHKP//fOFYkUpojU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717588365; c=relaxed/simple; bh=2Eq7FXzfZwx2HaQ3uWYtAcoK8wDlGTa/EEgdlOM4Who=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rjhdc/43TCLdxOibMEwHNsBWDin42mDRSli7hldsN3pmY1EutIoGDYqO/6e0hi1PMsH/TsY+zXHr8zLbXnuj8fWzplYbtoPeDpvT8iBR4meTZ+2f0nnnpl+ufS4Wnr0zit1OUzoaPpd3Wj4gT014pLm6yhyJSrVM1Qfsx7rm4MU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PLXEY2ZU; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8C69CC3277B; Wed, 5 Jun 2024 11:52:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1717588365; bh=2Eq7FXzfZwx2HaQ3uWYtAcoK8wDlGTa/EEgdlOM4Who=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PLXEY2ZU4Chgee1Rt2cKuNILr/0FBJd59qVG5qTEnudewdcKKaaLInz/7/qzo1zBw /05YuvUnoJB29UuhFIXVK3JYka363X6mJvyII08+J9FeRfbmk3LxU3z37o9Wrg59Iz vzL/TGLOPb4RrYllNbyPDOCJUPkRLfcBWADTsUgNmf/jhEAr6pvjcoAZg8Pr423Hk+ DMvHgKNlJVgb4BP06jYerY/WcR+oFDA9LRueehis263rHMXcZpQ5f8NtXJ1AIK74zR LkVyZPo6JpHytEX5XGguzOZZ1tueZVcbxT6Eb1PhceoTN+3aTloycfcIHWAKl82Ddw EpcsnnicgZlOQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Songyang Li , Thomas Bogendoerfer , Sasha Levin , rdunlap@infradead.org, bhelgaas@google.com, linux-mips@vger.kernel.org Subject: [PATCH AUTOSEL 6.6 10/20] MIPS: Octeon: Add PCIe link status check Date: Wed, 5 Jun 2024 07:51:53 -0400 Message-ID: <20240605115225.2963242-10-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240605115225.2963242-1-sashal@kernel.org> References: <20240605115225.2963242-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.6.32 Content-Transfer-Encoding: 8bit From: Songyang Li [ Upstream commit 29b83a64df3b42c88c0338696feb6fdcd7f1f3b7 ] The standard PCIe configuration read-write interface is used to access the configuration space of the peripheral PCIe devices of the mips processor after the PCIe link surprise down, it can generate kernel panic caused by "Data bus error". So it is necessary to add PCIe link status check for system protection. When the PCIe link is down or in training, assigning a value of 0 to the configuration address can prevent read-write behavior to the configuration space of peripheral PCIe devices, thereby preventing kernel panic. Signed-off-by: Songyang Li Signed-off-by: Thomas Bogendoerfer Signed-off-by: Sasha Levin --- arch/mips/pci/pcie-octeon.c | 6 ++++++ 1 file changed, 6 insertions(+) mode change 100644 => 100755 arch/mips/pci/pcie-octeon.c diff --git a/arch/mips/pci/pcie-octeon.c b/arch/mips/pci/pcie-octeon.c old mode 100644 new mode 100755 index c9edd3fb380df..9eaacd3d33880 --- a/arch/mips/pci/pcie-octeon.c +++ b/arch/mips/pci/pcie-octeon.c @@ -230,12 +230,18 @@ static inline uint64_t __cvmx_pcie_build_config_addr(int pcie_port, int bus, { union cvmx_pcie_address pcie_addr; union cvmx_pciercx_cfg006 pciercx_cfg006; + union cvmx_pciercx_cfg032 pciercx_cfg032; pciercx_cfg006.u32 = cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG006(pcie_port)); if ((bus <= pciercx_cfg006.s.pbnum) && (dev != 0)) return 0; + pciercx_cfg032.u32 = + cvmx_pcie_cfgx_read(pcie_port, CVMX_PCIERCX_CFG032(pcie_port)); + if ((pciercx_cfg032.s.dlla == 0) || (pciercx_cfg032.s.lt == 1)) + return 0; + pcie_addr.u64 = 0; pcie_addr.config.upper = 2; pcie_addr.config.io = 1; -- 2.43.0