diff options
author | Qian Cai <cai@lca.pw> | 2020-10-14 21:28:11 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2020-10-15 05:42:49 +0300 |
commit | ffd0b25ca049a477cb757e5bcf2d5e1664d12e5d (patch) | |
tree | 850fb891e06410163f4ac493ec841c6646d92478 /arch/powerpc/include/asm/pci-bridge.h | |
parent | 996f9e0f93f16211945c8d5f18f296a88cb32f91 (diff) | |
download | linux-ffd0b25ca049a477cb757e5bcf2d5e1664d12e5d.tar.xz |
Revert "powerpc/pci: unmap legacy INTx interrupts when a PHB is removed"
This reverts commit 3a3181e16fbde752007759f8759d25e0ff1fc425 which
causes memory corruptions on POWER9 powernv. eg:
pci_bus 0035:08: busn_res: [bus 08-0c] is released
=============================================================================
BUG kmalloc-16 (Tainted: G W O ): Object already free
-----------------------------------------------------------------------------
Disabling lock debugging due to kernel taint
INFO: Allocated in pcibios_scan_phb+0x104/0x3e0 age=1960714 cpu=4 pid=1
__slab_alloc+0xa4/0xf0
__kmalloc+0x294/0x330
pcibios_scan_phb+0x104/0x3e0
pcibios_init+0x84/0x124
do_one_initcall+0xac/0x528
kernel_init_freeable+0x35c/0x3fc
kernel_init+0x24/0x148
ret_from_kernel_thread+0x5c/0x80
INFO: Freed in pcibios_remove_bus+0x70/0x90 age=0 cpu=16 pid=1717146
kfree+0x49c/0x510
pcibios_remove_bus+0x70/0x90
pci_remove_bus+0xe4/0x110
pci_remove_bus_device+0x74/0x170
pci_remove_bus_device+0x4c/0x170
pci_stop_and_remove_bus_device_locked+0x34/0x50
remove_store+0xc0/0xe0
dev_attr_store+0x30/0x50
sysfs_kf_write+0x68/0xb0
kernfs_fop_write+0x114/0x260
vfs_write+0xe4/0x260
ksys_write+0x74/0x130
system_call_exception+0xf8/0x1d0
system_call_common+0xe8/0x218
INFO: Slab 0x0000000099caaf22 objects=178 used=174 fp=0x00000000006a64b0 flags=0x7fff8000000201
INFO: Object 0x00000000f360132d @offset=30192 fp=0x0000000000000000
Signed-off-by: Qian Cai <cai@lca.pw>
Acked-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201014182811.12027-1-cai@lca.pw
Diffstat (limited to 'arch/powerpc/include/asm/pci-bridge.h')
-rw-r--r-- | arch/powerpc/include/asm/pci-bridge.h | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h index d21e070352dc..d2a2a14e56f9 100644 --- a/arch/powerpc/include/asm/pci-bridge.h +++ b/arch/powerpc/include/asm/pci-bridge.h @@ -48,9 +48,6 @@ struct pci_controller_ops { /* * Structure of a PCI controller (host bridge) - * - * @irq_count: number of interrupt mappings - * @irq_map: interrupt mappings */ struct pci_controller { struct pci_bus *bus; @@ -130,9 +127,6 @@ struct pci_controller { void *private_data; struct npu *npu; - - unsigned int irq_count; - unsigned int *irq_map; }; /* These are used for config access before all the PCI probing |