Received: by 10.223.164.202 with SMTP id h10csp753019wrb; Wed, 15 Nov 2017 07:22:08 -0800 (PST) X-Google-Smtp-Source: AGs4zMafVFl+mtoCCU/JZo/DvpczRSE6yVlqc8f5EtXEFnOd1QZtMUD+4gI+uUi9yqe6OpIY6oF0 X-Received: by 10.84.194.3 with SMTP id g3mr16508753pld.374.1510759328077; Wed, 15 Nov 2017 07:22:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510759328; cv=none; d=google.com; s=arc-20160816; b=omDzS+QQXbjcOJQ5/2bwWj3YmJmKLfS4gCadwvIXECE0sIuDK3ZiL9O00G01HmO1IY YEvBL1DN0vpO/oM06LJ3LEwsvlBalI00EUTQeNfZWGVIv/Z1J4aBT7gzLGc150CmX5mU p7HIc+sHj5QinD5kFgLPuhvhq99eUJ0+MhZ3ytllnse7q4giqRJheSD54U1DcbKVJB5R KhFJiG1wfuN9LB7U5OBGU+XUmOM2ySjNETXQVBePHfnIO0Dsy+I9JfMRQziM+5hcOCTB /uPviAt6iyVVCYkYqHF/Bi1aFZtWNdFqYL/3+ZXMgukl1Yd9YeY1dMzrkwOnWshv+hB2 GpMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dmarc-filter:dkim-signature:dkim-signature :arc-authentication-results; bh=GPiPrIQlb3BK2NmK5Bta1Y8OvxgiTzqCLyZUoGoI8Hw=; b=kPG0gNc//Tuv9VztZLRgjen4ASHtu5NMm6fPkRCn25ak1c67caLaX/EnBhldSOj5nl 8NvppF25Qt0/Ncmo9jUUjs0Ysmqe9poGeAwLbsIYdZxVKOx+FYF2MxZeeyzecKprIFgd iWJLSBDwAswx4fzG8yPgyAZmbZ5r9yswFp7rRz05jkefpz3oeFsHzjRf1bxO34Fxo6oC AfdhUAaGM6+08zTyUq/BEzjbF2JxDuSV+ygdcjtdvFn/5KTF3CpJ/m/17qNnKPXIS9OA t9lRzmJWv3kBrw7DZVWKsJblrFJs7JrdQQ3zWXcmUhp6FajX5HcZ4QSG8qVNvpOKfZvB T3lQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=hgCYcJoV; dkim=pass header.i=@codeaurora.org header.s=default header.b=hgCYcJoV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 32si18257248plg.399.2017.11.15.07.21.55; Wed, 15 Nov 2017 07:22:08 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=hgCYcJoV; dkim=pass header.i=@codeaurora.org header.s=default header.b=hgCYcJoV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758299AbdKOPOm (ORCPT + 89 others); Wed, 15 Nov 2017 10:14:42 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:46002 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754750AbdKOPOf (ORCPT ); Wed, 15 Nov 2017 10:14:35 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 8B79260720; Wed, 15 Nov 2017 15:14:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1510758874; bh=eNWtsMIG5mfvGSy1b0lhKE5RLnjJZXEr903/MTMJ/CU=; h=From:To:Cc:Subject:Date:From; b=hgCYcJoVzp/maokdf+BoxOheYoc+C2WPAv9duN8IT0Wi95oUe9DeCTDPSb0dF3RIo pa0A2U9FLIui7hq79xhB82m4INn18TIX+MGR1p//TMmvKh9pGdyEBDbjX08ouyGF9D HOLxBYfRph5gOg5qEmsJOO3WUGtubcw2OWTB2i1w= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from tbaicar-lnx.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: tbaicar@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 4E3E96081E; Wed, 15 Nov 2017 15:14:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1510758874; bh=eNWtsMIG5mfvGSy1b0lhKE5RLnjJZXEr903/MTMJ/CU=; h=From:To:Cc:Subject:Date:From; b=hgCYcJoVzp/maokdf+BoxOheYoc+C2WPAv9duN8IT0Wi95oUe9DeCTDPSb0dF3RIo pa0A2U9FLIui7hq79xhB82m4INn18TIX+MGR1p//TMmvKh9pGdyEBDbjX08ouyGF9D HOLxBYfRph5gOg5qEmsJOO3WUGtubcw2OWTB2i1w= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 4E3E96081E 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=tbaicar@codeaurora.org From: Tyler Baicar To: bp@suse.de, rjw@rjwysocki.net, tony.luck@intel.com, will.deacon@arm.com, james.morse@arm.com, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Tyler Baicar Subject: [PATCH V3 2/2] acpi: apei: call into AER handling regardless of severity Date: Wed, 15 Nov 2017 08:14:27 -0700 Message-Id: <1510758867-15940-1-git-send-email-tbaicar@codeaurora.org> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently the GHES code only calls into the AER driver for recoverable type errors. This is incorrect because errors of other severities do not get logged by the AER driver and do not get exposed to user space via the AER trace event. So, call into the AER driver for PCIe errors regardless of the severity Signed-off-by: Tyler Baicar --- drivers/acpi/apei/ghes.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index 839c3d5..15dbf65 100644 --- a/drivers/acpi/apei/ghes.c +++ b/drivers/acpi/apei/ghes.c @@ -458,14 +458,26 @@ static void ghes_handle_memory_failure(struct acpi_hest_generic_data *gdata, int #endif } -static void ghes_handle_aer(struct acpi_hest_generic_data *gdata, int sev, int sec_sev) +/* + * PCIe AER errors need to be sent to the AER driver for reporting and + * recovery. The GHES severities map to the following AER severities and + * require the following handling: + * + * GHES_SEV_CORRECTABLE -> AER_CORRECTABLE + * These need to be reported by the AER driver but no recovery is + * necessary. + * GHES_SEV_RECOVERABLE -> AER_NONFATAL + * GHES_SEV_RECOVERABLE && CPER_SEC_RESET -> AER_FATAL + * These both need to be reported and recovered from by the AER driver. + * GHES_SEV_PANIC does not make it to this handling since the kernel must + * panic. + */ +static void ghes_handle_aer(struct acpi_hest_generic_data *gdata) { #ifdef CONFIG_ACPI_APEI_PCIEAER struct cper_sec_pcie *pcie_err = acpi_hest_get_payload(gdata); - if (sev == GHES_SEV_RECOVERABLE && - sec_sev == GHES_SEV_RECOVERABLE && - pcie_err->validation_bits & CPER_PCIE_VALID_DEVICE_ID && + if (pcie_err->validation_bits & CPER_PCIE_VALID_DEVICE_ID && pcie_err->validation_bits & CPER_PCIE_VALID_AER_INFO) { unsigned int devfn; int aer_severity; @@ -519,7 +531,7 @@ static void ghes_do_proc(struct ghes *ghes, ghes_handle_memory_failure(gdata, sev); } else if (guid_equal(sec_type, &CPER_SEC_PCIE)) { - ghes_handle_aer(gdata, sev, sec_sev); + ghes_handle_aer(gdata); } else if (guid_equal(sec_type, &CPER_SEC_PROC_ARM)) { struct cper_sec_proc_arm *err = acpi_hest_get_payload(gdata); -- Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project. From 1585284357487869231@xxx Tue Nov 28 04:56:15 +0000 2017 X-GM-THRID: 1585215873126639897 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread