Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932513AbcJMOH6 (ORCPT ); Thu, 13 Oct 2016 10:07:58 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:46331 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753915AbcJMOHt (ORCPT ); Thu, 13 Oct 2016 10:07:49 -0400 DMARC-Filter: OpenDMARC Filter v1.3.1 smtp.codeaurora.org 8057761709 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=pass smtp.mailfrom=tbaicar@codeaurora.org Subject: Re: [PATCH V3 05/10] acpi: apei: handle SEA notification type for ARMv8 To: Punit Agrawal References: <1475875882-2604-1-git-send-email-tbaicar@codeaurora.org> <1475875882-2604-6-git-send-email-tbaicar@codeaurora.org> <87shs1sb1b.fsf@e105922-lin.cambridge.arm.com> Cc: christoffer.dall@linaro.org, marc.zyngier@arm.com, pbonzini@redhat.com, rkrcmar@redhat.com, linux@armlinux.org.uk, catalin.marinas@arm.com, will.deacon@arm.com, rjw@rjwysocki.net, lenb@kernel.org, matt@codeblueprint.co.uk, robert.moore@intel.com, lv.zheng@intel.com, mark.rutland@arm.com, james.morse@arm.com, akpm@linux-foundation.org, sandeepa.s.prabhu@gmail.com, shijie.huang@arm.com, paul.gortmaker@windriver.com, tomasz.nowicki@linaro.org, fu.wei@linaro.org, rostedt@goodmis.org, bristot@redhat.com, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, Dkvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-efi@vger.kernel.org, devel@acpica.org, "Jonathan (Zhixiong) Zhang" , Naveen Kaje From: "Baicar, Tyler" Message-ID: <90d13241-d6b9-0b81-9f92-71df99b91b67@codeaurora.org> Date: Thu, 13 Oct 2016 08:03:55 -0600 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <87shs1sb1b.fsf@e105922-lin.cambridge.arm.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2694 Lines: 89 Hello Punit, On 10/12/2016 12:00 PM, Punit Agrawal wrote: > Tyler Baicar writes: > >> ARM APEI extension proposal added SEA (Synchrounous External >> Abort) notification type for ARMv8. >> Add a new GHES error source handling function for SEA. If an error >> source's notification type is SEA, then this function can be registered >> into the SEA exception handler. That way GHES will parse and report >> SEA exceptions when they occur. >> >> Signed-off-by: Jonathan (Zhixiong) Zhang >> Signed-off-by: Tyler Baicar >> Signed-off-by: Naveen Kaje > This patch fails to apply for me on v4.8. Is there a different tree this > is based on? This patch was giving me some grief as well. I'm not sure why that is because this patchset was based on the 4.8 kernel with the dependent patch for initial APEI support. > One comment below. > > [...] > >> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c >> index c8488f1..28d5a09 100644 >> --- a/drivers/acpi/apei/ghes.c >> +++ b/drivers/acpi/apei/ghes.c >> @@ -50,6 +50,10 @@ >> #include >> #include >> >> +#ifdef CONFIG_HAVE_ACPI_APEI_SEA >> +#include >> +#endif >> + >> #include "apei-internal.h" >> >> #define GHES_PFX "GHES: " >> @@ -779,6 +783,62 @@ static struct notifier_block ghes_notifier_sci = { >> .notifier_call = ghes_notify_sci, >> }; >> >> +#ifdef CONFIG_HAVE_ACPI_APEI_SEA >> +static LIST_HEAD(ghes_sea); >> + >> +static int ghes_notify_sea(struct notifier_block *this, >> + unsigned long event, void *data) >> +{ >> + struct ghes *ghes; >> + int ret = NOTIFY_DONE; >> + >> + rcu_read_lock(); >> + list_for_each_entry_rcu(ghes, &ghes_sea, list) { >> + if (!ghes_proc(ghes)) >> + ret = NOTIFY_OK; > Not something you've introduced but it looks like ghes_proc erroneously > never returns anything other than 0. I plan to post the below fix to > address it. > > diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c > index 60746ef..caea575 100644 > --- a/drivers/acpi/apei/ghes.c > +++ b/drivers/acpi/apei/ghes.c > @@ -662,7 +662,7 @@ static int ghes_proc(struct ghes *ghes) > ghes_do_proc(ghes, ghes->estatus); > out: > ghes_clear_estatus(ghes); > - return 0; > + return rc; > } Yes, this definitely should be fixed :) Thanks, Tyler >> + } >> + rcu_read_unlock(); >> + >> + return ret; >> +} >> + > [...] > -- 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.