linux/arch/powerpc/platforms
Thadeu Lima de Souza Cascardo 6a040ce725 powerpc/eeh: Fix crash when adding a device in a slot with DDW
The DDW code uses a eeh_dev struct from the pci_dev. However, this is
not set until eeh_add_device_late is called.

Since pci_bus_add_devices is called before eeh_add_device_late, the PCI
devices are added to the bus, making drivers' probe hooks to be called.
These will call set_dma_mask, which will call the DDW code, which will
require the eeh_dev struct from pci_dev. This would result in a crash,
due to a NULL dereference.

Calling eeh_add_device_late after pci_bus_add_devices would make the
system BUG, because device files shouldn't be added to devices there
were not added to the system. So, a new function is needed to add such
files only after pci_bus_add_devices have been called.

Cc: stable@vger.kernel.org
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
Acked-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-01-10 17:01:58 +11:00
..
8xx Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
40x powerpc: Add missing NULL terminator to avoid boot panic on PPC40x 2013-01-03 16:45:52 +11:00
44x powerpc/44x: Support OCM(On Chip Memory) for APM821xx SoC and Bluestone board 2013-01-10 15:08:37 +11:00
52xx POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
82xx powerpc/82xx: Use for_each_compatible_node() macro 2013-01-10 17:00:51 +11:00
83xx POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
85xx POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
86xx POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
512x powerpc/512x: don't compile any platform DIU code if the DIU is not enabled 2012-12-03 22:13:34 +01:00
amigaone pcspkr: Cleanup Kconfig dependencies 2011-06-09 15:01:41 +02:00
cell powerpc: Convert print_symbol to %pSR 2013-01-10 17:01:16 +11:00
chrp POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
embedded6xx Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
maple POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
pasemi POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
powermac POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
powernv POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
prep powerpc: drop unused Kconfig symbols 2011-10-31 23:39:52 +01:00
ps3 POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
pseries powerpc/eeh: Fix crash when adding a device in a slot with DDW 2013-01-10 17:01:58 +11:00
wsp powerpc: Build kernel with -mcmodel=medium 2013-01-10 17:00:31 +11:00
fsl_uli1575.c POWERPC: drivers: remove __dev* attributes. 2013-01-03 15:57:04 -08:00
Kconfig PPC: select EPAPR_PARAVIRT for all users of epapr hcalls 2012-10-05 23:38:37 +02:00
Kconfig.cputype powerpc: Update Kconfig + Makefile to prepare for server doorbells 2013-01-10 15:09:08 +11:00
Makefile powerpc: Remove the main legacy iSerie platform code 2012-03-09 10:35:11 +11:00