Crash@pcibios_set_pcie_reset_state+0x118/0x280 in capiredp01 with latest level - 160823-GA3-FlashGT
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Tim Gardner |
Bug Description
== Comment: #26 - Andrew Donnellan - 2016-11-24 19:55:52 ==
Ubuntu kernel team, please apply the following fixup to the Xenial kernel tree.
-------
From 631804b1548b035
From: Gavin Shan <email address hidden>
Date: Mon, 12 Sep 2016 10:50:16 +1000
Subject: [PATCH] powerpc/eeh: Remove EEH_PE_PRI_BUS in full hotplug recovery
commit 59ae8c6d5b45 ("powerpc/eeh: Fix invalid cached PE primary
bus") was wrongly backporting upstream commit a3aa256b7258: It
should clear the PE's flag (EEH_PE_PRI_BUS) in full hotplug instead
of partial hotplug scenario.
This fixes the issue by clearing EEH_PE_PRI_BUS in full hotplug
scenario only.
Fixes: 59ae8c6d5b45 ("powerpc/eeh: Fix invalid cached PE primary bus")
Signed-off-by: Gavin Shan <email address hidden>
---
arch/powerpc/
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/
index c453b53..829ab8e 100644
--- a/arch/
+++ b/arch/
@@ -630,13 +630,13 @@ static int eeh_reset_
* rebuilt when adding PCI devices.
*/
eeh_
+ eeh_pe_
pcibios_
} else if (frozen_bus && removed) {
pr_info("EEH: Sleep 5s ahead of partial hotplug\n");
ssleep(5);
eeh_
- eeh_pe_
pcibios_
}
eeh_pe_
--
2.1.0
Historical context:
==== State: Open by: ukrishn on 08 September 2016 18:15:32 ====
Seems like this is easily recreatable. Mike Vageline just hit the issue by doing couple of PERST on a FlashGT card.
Here is the note from him -
I had downloaded 0908, then perst, modprob'd to verify 0908, then rmmod, then perst to factory, modprob'd, verified it was 0903, rmmod, then perst again to user... xmon
p8tul12-lp1 login: [ 647.501340] Fatal Hypervisor Maintenance interrupt [Recovered]
[ 647.501348] EEH: Fenced PHB#2 detected, location: N/A
[ 647.501528] Error detail: Malfunction Alert
[ 647.501590] HMER: 8040000000000000
[ 647.501637] Unknown Core check stop.
[ 647.502584] Fatal Hypervisor Maintenance interrupt [Recovered]
[ 647.502588] Error detail: Malfunction Alert
[ 647.502590] HMER: 8040000000000000
[ 647.502591] Unknown Core check stop.
[ 665.369299] PCI: Memory resource 0 not set for host bridge /pciex@
[ 676.293638] Back level AFU, please upgrade. AFU version 160903N0 interface version 0xffffffffffffffff
[ 676.293842] cxlflash 0005:00:00.0: cxlflash_probe: call to init_afu failed rc=-22!
[ 704.863543] Unable to handle kernel paging request for data at address 0x00000110
[ 704.863673] Faulting instruction address: 0xc000000000083e08
cpu 0x2: Vector: 300 (Data Access) at [c000000f01cbf7d0]
pc: c000000000083e08: pnv_eeh_
lr: c000000000083df8: pnv_eeh_
sp: c000000f01cbfa50
msr: 9000000000009033
dar: 110
dsisr: 40000000
current = 0xc000000f014bc8e0
paca = 0xc000000007b41300 softe: 0 irq_happened: 0x01
pid = 10688, comm = sh
enter ? for help
[c000000f01cbfad0] c000000000038bb8 pcibios_
[c000000f01cbfb50] c0000000005e9450 pci_set_
[c000000f01cbfb80] d000000007c9f7bc cxl_pci_
[c000000f01cbfbf0] d000000007c992a4 reset_adapter_
[c000000f01cbfc80] c0000000006d2378 dev_attr_
[c000000f01cbfcc0] c000000000398290 sysfs_kf_
[c000000f01cbfd00] c0000000003971a8 kernfs_
[c000000f01cbfd50] c0000000002e1a6c __vfs_write+
[c000000f01cbfd90] c0000000002e27a0 vfs_write+
[c000000f01cbfde0] c0000000002e37dc SyS_write+
[c000000f01cbfe30] c000000000009204 system_
--- Exception: c01 (System Call) at 00003fff9c610eb8
SP (3fffdeaa0480) is in userspace
2:mon>
==== State: Open by: ukrishn on 09 September 2016 13:11:49 ====
2:mon> e
cpu 0x2: Vector: 300 (Data Access) at [c000000f01cbf7d0]
pc: c000000000083e08: pnv_eeh_
lr: c000000000083df8: pnv_eeh_
sp: c000000f01cbfa50
msr: 9000000000009033
dar: 110
dsisr: 40000000
current = 0xc000000f014bc8e0
paca = 0xc000000007b41300 softe: 0 irq_happened: 0x01
pid = 10688, comm = sh
2:mon>
c000000000083df4 4bfb6f25 bl c00000000003ad18 # eeh_pe_
c000000000083df8 60000000 nop
c000000000083dfc e9230010 ld r9,16(r3)
c000000000083e00 2fa90000 cmpdi cr7,r9,0
c000000000083e04 419e00dc beq cr7,c0000000000
c000000000083e08 e9290010 ld r9,16(r9)
R03 = c0000007f7db4800
R09 = 0000000000000100
2:mon> d c0000007f7db4800
c0000007f7db4800 00f8dbf7070000c0 0000000000000000 |................|
c0000007f7db4810 0001000000000000 <<<<< This should have either been a null
or a valid parent pointer.
As Andrew suspected, this could be a memory corruption and the problem seems to
be easily recreatable on Ubuntu 4.4.0-36 Xenial kernel. So far, the scenario has
been that they are doing repeated PERST with unload and reload of cxlflash driver.
1. unload cxlflash
2. PERST
3. modprobe cxlflash
When the above 3 steps are repeated especially after a new AFU image install,
this problem seems to be hit.
== Comment: #26 - Andrew Donnellan - 2016-11-24 19:55:52 ==
Ubuntu kernel team, please apply the following fixup to the Xenial kernel tree.
-------
From 631804b1548b035
From: Gavin Shan <email address hidden>
Date: Mon, 12 Sep 2016 10:50:16 +1000
Subject: [PATCH] powerpc/eeh: Remove EEH_PE_PRI_BUS in full hotplug recovery
commit 59ae8c6d5b45 ("powerpc/eeh: Fix invalid cached PE primary
bus") was wrongly backporting upstream commit a3aa256b7258: It
should clear the PE's flag (EEH_PE_PRI_BUS) in full hotplug instead
of partial hotplug scenario.
This fixes the issue by clearing EEH_PE_PRI_BUS in full hotplug
scenario only.
Fixes: 59ae8c6d5b45 ("powerpc/eeh: Fix invalid cached PE primary bus")
Signed-off-by: Gavin Shan <email address hidden>
---
arch/powerpc/
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/
index c453b53..829ab8e 100644
--- a/arch/
+++ b/arch/
@@ -630,13 +630,13 @@ static int eeh_reset_
* rebuilt when adding PCI devices.
*/
eeh_
+ eeh_pe_
pcibios_
} else if (frozen_bus && removed) {
pr_info("EEH: Sleep 5s ahead of partial hotplug\n");
ssleep(5);
eeh_
- eeh_pe_
pcibios_
}
eeh_pe_
--
2.1.0
Changed in linux (Ubuntu Xenial): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Xenial): | |
status: | Fix Committed → Fix Released |
Default Comment by Bridge