diff mbox series

[1/2] powerpc/eeh: Create PHB PEs after EEH is initialized

Message ID 1504766140.12628.14.camel@kernel.crashing.org (mailing list archive)
State Accepted
Commit 3e77adeea3c5393c9b624832f65441e92867f618
Headers show
Series [1/2] powerpc/eeh: Create PHB PEs after EEH is initialized | expand

Commit Message

Benjamin Herrenschmidt Sept. 7, 2017, 6:35 a.m. UTC
Otherwise we end up not yet having computed the right
diag data size on powernv where EEH initialization
is delayed, thus causing memory corruption later on
when calling OPAL.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
 arch/powerpc/kernel/eeh.c     |  4 ++++
 arch/powerpc/kernel/eeh_dev.c | 18 ------------------
 2 files changed, 4 insertions(+), 18 deletions(-)

Comments

Russell Currey Sept. 14, 2017, 1:11 a.m. UTC | #1
On Thu, 2017-09-07 at 16:35 +1000, Benjamin Herrenschmidt wrote:
> Otherwise we end up not yet having computed the right
> diag data size on powernv where EEH initialization
> is delayed, thus causing memory corruption later on
> when calling OPAL.
> 
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

Acked-by: Russell Currey <ruscur@russell.cc>
Michael Ellerman Sept. 20, 2017, 10:59 a.m. UTC | #2
Benjamin Herrenschmidt <benh@kernel.crashing.org> writes:

> Otherwise we end up not yet having computed the right
> diag data size on powernv where EEH initialization
> is delayed, thus causing memory corruption later on
> when calling OPAL.

When did this break? Do we have a commit we can tag with Fixes: ?
Stable?

I assume we want to merge this ASAP as a fix, I think I can safely take
this without patch 2?

cheers
Benjamin Herrenschmidt Sept. 20, 2017, 1 p.m. UTC | #3
On Wed, 2017-09-20 at 20:59 +1000, Michael Ellerman wrote:
> Benjamin Herrenschmidt <benh@kernel.crashing.org> writes:
> 
> > Otherwise we end up not yet having computed the right
> > diag data size on powernv where EEH initialization
> > is delayed, thus causing memory corruption later on
> > when calling OPAL.
> 
> When did this break? Do we have a commit we can tag with Fixes: ?
> Stable?
> 
> I assume we want to merge this ASAP as a fix, I think I can safely take
> this without patch 2?

Russell, can you help Michael with that ? I don't even remember what's
in patch 2 :)

Cheers,
Ben.
Russell Currey Sept. 21, 2017, 2:19 a.m. UTC | #4
On Wed, 2017-09-20 at 20:59 +1000, Michael Ellerman wrote:
> Benjamin Herrenschmidt <benh@kernel.crashing.org> writes:
> 
> > Otherwise we end up not yet having computed the right
> > diag data size on powernv where EEH initialization
> > is delayed, thus causing memory corruption later on
> > when calling OPAL.
> 
> When did this break? Do we have a commit we can tag with Fixes: ?
> Stable?
> 
> I assume we want to merge this ASAP as a fix, I think I can safely take
> this without patch 2?
> 
> cheers

Yes it should be merged ASAP as a fix, and fixes
5cb1f8fdddb7475f38ea9fba48da17c002eec90b.
Michael Ellerman Sept. 21, 2017, 4:57 a.m. UTC | #5
Russell Currey <ruscur@russell.cc> writes:

> On Wed, 2017-09-20 at 20:59 +1000, Michael Ellerman wrote:
>> Benjamin Herrenschmidt <benh@kernel.crashing.org> writes:
>> 
>> > Otherwise we end up not yet having computed the right
>> > diag data size on powernv where EEH initialization
>> > is delayed, thus causing memory corruption later on
>> > when calling OPAL.
>> 
>> When did this break? Do we have a commit we can tag with Fixes: ?
>> Stable?
>> 
>> I assume we want to merge this ASAP as a fix, I think I can safely take
>> this without patch 2?
>> 
>> cheers
>
> Yes it should be merged ASAP as a fix, and fixes
> 5cb1f8fdddb7475f38ea9fba48da17c002eec90b.

Thanks. I've put patch 1 in fixes-test.

cheers
Michael Ellerman Sept. 22, 2017, 1:03 a.m. UTC | #6
On Thu, 2017-09-07 at 06:35:40 UTC, Benjamin Herrenschmidt wrote:
> Otherwise we end up not yet having computed the right
> diag data size on powernv where EEH initialization
> is delayed, thus causing memory corruption later on
> when calling OPAL.
> 
> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Acked-by: Russell Currey <ruscur@russell.cc>

Patch 1 applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/3e77adeea3c5393c9b624832f65441

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c
index 63992b2d8e15..f27eecd5ec7f 100644
--- a/arch/powerpc/kernel/eeh.c
+++ b/arch/powerpc/kernel/eeh.c
@@ -1018,6 +1018,10 @@  int eeh_init(void)
 	} else if ((ret = eeh_ops->init()))
 		return ret;
 
+	/* Initialize PHB PEs */
+	list_for_each_entry_safe(hose, tmp, &hose_list, list_node)
+		eeh_dev_phb_init_dynamic(hose);
+
 	/* Initialize EEH event */
 	ret = eeh_event_init();
 	if (ret)
diff --git a/arch/powerpc/kernel/eeh_dev.c b/arch/powerpc/kernel/eeh_dev.c
index d6b2ca70d14d..0820b73288c0 100644
--- a/arch/powerpc/kernel/eeh_dev.c
+++ b/arch/powerpc/kernel/eeh_dev.c
@@ -83,21 +83,3 @@  void eeh_dev_phb_init_dynamic(struct pci_controller *phb)
 	/* EEH PE for PHB */
 	eeh_phb_pe_create(phb);
 }
-
-/**
- * eeh_dev_phb_init - Create EEH devices for devices included in existing PHBs
- *
- * Scan all the existing PHBs and create EEH devices for their OF
- * nodes and their children OF nodes
- */
-static int __init eeh_dev_phb_init(void)
-{
-	struct pci_controller *phb, *tmp;
-
-	list_for_each_entry_safe(phb, tmp, &hose_list, list_node)
-		eeh_dev_phb_init_dynamic(phb);
-
-	return 0;
-}
-
-core_initcall(eeh_dev_phb_init);