Received: by 2002:a05:7412:9c07:b0:fa:6e18:a558 with SMTP id lr7csp772681rdb; Sun, 28 Jan 2024 08:16:12 -0800 (PST) X-Google-Smtp-Source: AGHT+IEu2fo59ujY8CZpsQFh4f4FDv3/SSbdLPEqEk0gZcKdUps9yYyUwLqjiBMclaBsCvuzZnTn X-Received: by 2002:a05:6a20:9f87:b0:19b:1eda:ab61 with SMTP id mm7-20020a056a209f8700b0019b1edaab61mr2025830pzb.54.1706458572094; Sun, 28 Jan 2024 08:16:12 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706458572; cv=pass; d=google.com; s=arc-20160816; b=1FLsrEmj/sm5Ml/njVniwU5moBalhZBt+cBWcjfsMyjCco/viezy85CXNqxLwdIUKB tAB2P1IRkOZbUNMvONIMR7mzdfHRxcSk2X/kYLiL8BmyG0kkj4pwSSsy6JbpAgooG+Qz 2kO3CqtUybEQXPgZDMs8KLxT76CVb8sukrzQ7P08pU5cCe7nCXOlDm+WwhaP7Bfa0+KZ JXIUY95ueqe+iCoq1htA/i1JabY7NK6BtP9PSOLCVTy9REvZNKssiOf3IfJCU1dt4UTT OI9OQvcV8lb4t94KMFCqZ1H2ld32kqEy6K/pZEpLcFUJ6Vqz63zMIYFpG7Bg04y8VtSl AoAg== 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=r4iiuXYIh9Gr1D0+3x+7VH2T79NVj8basoUQpVPRAJo=; fh=CL/i6CNtiioyJMoUGPrMO+mbdHLTAf2j4y44MtZ8cP0=; b=Evvo7HBnk+81vvCa5mPWUq4kyrbNcr2PHlLJXKhT/lLaebDRUb1IJhXPKGxhw8Sp+q IB4yLltIz4GOigp3fTWKNbrUafJvdz7PVq9Lp66Ll6V7Gwnz6w0O5B5uu614tllf0Xfq YJ71FI90xl5ZBfKy2ed+WnmwWa1/Tx6KtGYdQVoK/tEmRqPZuumD+Orkpf7a+vko0yFz ijC4EP109psLPamK1WtT41bJTGRRdyiSoDZffOtwvLxmNw6+Kb684ufTEp/CQwIpnRtk X25NEiNgDzWzcwQXlFOJuAMF9Eq404xUstSyUC73Dg3vMcA+CXuoN5WMpzl7HC4oJHt9 PVqA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=FKsqy+66; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-41699-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-41699-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 lp17-20020a056a003d5100b006dde1514009si4431719pfb.132.2024.01.28.08.16.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Jan 2024 08:16:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-41699-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=FKsqy+66; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-41699-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-41699-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 BB36A281DD1 for ; Sun, 28 Jan 2024 16:16:11 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BA2C84EB5E; Sun, 28 Jan 2024 16:12:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="FKsqy+66" 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 CDAE84EB59; Sun, 28 Jan 2024 16:12:01 +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=1706458321; cv=none; b=V8AdNezMgEDPcSNolF9nhU6llTxeiOPk1XGTEQKb0kd/bKZHFab9W5JTEcg5Y9+AD2zuwnF9cQ+3lSuuYisel+oKzWHprBNwD/sbEg7JbH3LE4fTFyWGsrC4BMcvDsEmZcRyDlF3xqWBDGgzp3ISbj4Tq6T9XIFrg1Cmsrm4rt0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706458321; c=relaxed/simple; bh=WYtvcZdqJ8pNoAfwZvGB/+WiZqV/FO2qv9+uJ0BGxoQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mEhPTSFZQodppLuVTcn70oymjX9AHUewJBOJ894Zxfnfoyc+CmzsJk2h2RoPZDmoW18aFEVI8F2D1xqsCfG8rnCWzK0ZKdxI+/kmZC7uYE+vrhfbQDCQAtrhuo9/Z6n2CefN6I1yyTfycweQywEVSsFSOdj6wrJKHAaT4Squ50c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=FKsqy+66; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id AE22BC43390; Sun, 28 Jan 2024 16:12:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1706458321; bh=WYtvcZdqJ8pNoAfwZvGB/+WiZqV/FO2qv9+uJ0BGxoQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FKsqy+663Z6/Ulhbmz53IgbiXpj9ZLmv6RcdBvodQjH7g7CmXrb830pYbA1MSbkFt eiWvzom5LTbdetVZzkPk4m+sPDB3LqJm0ftZH6P4G1axKW9o47pa73a9Z2beM/ZpDM SYrCv7T5aV0CjqReFXN87IrRsTNpmoOs44UZl2yr7D1kSgbROboj4RVZOyvte6BQTb asffXtSEECr9oPnbmlvqnKaf2/u3x90006Nm1/TkqlGK4t/k1rglLcLX1UKCeBr3Qq EAfT19ChNQhwT3p3LZ1xFLmdsjhpbC1BIntyJB+y4QNhoaNBoYCDSVeFJld2SrY+P8 XpK1brxE7d+ow== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Bjorn Helgaas , Jonathan Cameron , Kuppuswamy Sathyanarayanan , Sasha Levin , mahesh@linux.ibm.com, linuxppc-dev@lists.ozlabs.org, linux-pci@vger.kernel.org Subject: [PATCH AUTOSEL 6.7 17/39] PCI/AER: Decode Requester ID when no error info found Date: Sun, 28 Jan 2024 11:10:37 -0500 Message-ID: <20240128161130.200783-17-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240128161130.200783-1-sashal@kernel.org> References: <20240128161130.200783-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.7.2 Content-Transfer-Encoding: 8bit From: Bjorn Helgaas [ Upstream commit 1291b716bbf969e101d517bfb8ba18d958f758b8 ] When a device with AER detects an error, it logs error information in its own AER Error Status registers. It may send an Error Message to the Root Port (RCEC in the case of an RCiEP), which logs the fact that an Error Message was received (Root Error Status) and the Requester ID of the message source (Error Source Identification). aer_print_port_info() prints the Requester ID from the Root Port Error Source in the usual Linux "bb:dd.f" format, but when find_source_device() finds no error details in the hierarchy below the Root Port, it printed the raw Requester ID without decoding it. Decode the Requester ID in the usual Linux format so it matches other messages. Sample message changes: - pcieport 0000:00:1c.5: AER: Correctable error received: 0000:00:1c.5 - pcieport 0000:00:1c.5: AER: can't find device of ID00e5 + pcieport 0000:00:1c.5: AER: Correctable error message received from 0000:00:1c.5 + pcieport 0000:00:1c.5: AER: found no error details for 0000:00:1c.5 Link: https://lore.kernel.org/r/20231206224231.732765-3-helgaas@kernel.org Signed-off-by: Bjorn Helgaas Reviewed-by: Jonathan Cameron Reviewed-by: Kuppuswamy Sathyanarayanan Signed-off-by: Sasha Levin --- drivers/pci/pcie/aer.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c index 42a3bd35a3e1..38e3346772cc 100644 --- a/drivers/pci/pcie/aer.c +++ b/drivers/pci/pcie/aer.c @@ -740,7 +740,7 @@ static void aer_print_port_info(struct pci_dev *dev, struct aer_err_info *info) u8 bus = info->id >> 8; u8 devfn = info->id & 0xff; - pci_info(dev, "%s%s error received: %04x:%02x:%02x.%d\n", + pci_info(dev, "%s%s error message received from %04x:%02x:%02x.%d\n", info->multi_error_valid ? "Multiple " : "", aer_error_severity_string[info->severity], pci_domain_nr(dev->bus), bus, PCI_SLOT(devfn), @@ -929,7 +929,12 @@ static bool find_source_device(struct pci_dev *parent, pci_walk_bus(parent->subordinate, find_device_iter, e_info); if (!e_info->error_dev_num) { - pci_info(parent, "can't find device of ID%04x\n", e_info->id); + u8 bus = e_info->id >> 8; + u8 devfn = e_info->id & 0xff; + + pci_info(parent, "found no error details for %04x:%02x:%02x.%d\n", + pci_domain_nr(parent->bus), bus, PCI_SLOT(devfn), + PCI_FUNC(devfn)); return false; } return true; -- 2.43.0