Alex Chiang
5d4a4b25dd
PCI Hotplug: acpiphp: grab refcount on p2p subordinate bus
...
If a logical hot unplug (remove) is performed on a bridge claimed
by acpiphp and then acpiphp is unloaded, we will encounter an oops.
This is because acpiphp will access the bridge's subordinate bus,
which was released by the user's prior hot unplug.
The solution is to grab a reference on the subordinate PCI bus.
This will prevent the bus from release until acpiphp is unloaded.
Reviewed-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Tested-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Reported-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-04-06 11:30:26 -07:00
..
acpi_pcihp.c
PCI hotplug: fix wrong assumption in acpi_get_hp_hw_control_from_firmware
2009-03-20 10:48:02 -07:00
acpiphp.h
PCI hotplug: acpiphp whitespace cleanup
2009-01-07 11:12:42 -08:00
acpiphp_core.c
PCI hotplug: acpiphp wants a 64-bit _SUN
2008-12-16 13:26:46 -08:00
acpiphp_glue.c
PCI Hotplug: acpiphp: grab refcount on p2p subordinate bus
2009-04-06 11:30:26 -07:00
acpiphp_ibm.c
PCI: struct device - replace bus_id with dev_name(), dev_set_name()
2009-01-07 11:12:23 -08:00
cpci_hotplug.h
PCI: cpci_hotplug: stop managing hotplug_slot->name
2008-10-22 16:42:39 -07:00
cpci_hotplug_core.c
PCI: cpci_hotplug: stop managing hotplug_slot->name
2008-10-22 16:42:39 -07:00
cpci_hotplug_pci.c
PCI: cpci_hotplug: stop managing hotplug_slot->name
2008-10-22 16:42:39 -07:00
cpcihp_generic.c
PCI Hotplug: make cpcihp driver use modern apis
2008-04-20 21:46:56 -07:00
cpcihp_zt5550.c
PCI: ZT5550 CPCI Hotplug driver fix
2007-05-02 19:02:40 -07:00
cpcihp_zt5550.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
cpqphp.h
PCI: cpqphp: stop managing hotplug_slot->name
2008-10-22 16:42:40 -07:00
cpqphp_core.c
x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h
2008-12-29 18:17:36 +01:00
cpqphp_ctrl.c
PCI hotplug: remove redundant test in cpq hotplug
2009-01-07 11:13:22 -08:00
cpqphp_nvram.c
PCI: replace remaining __FUNCTION__ occurrences
2008-04-20 21:47:09 -07:00
cpqphp_nvram.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
cpqphp_pci.c
PCI hotplug: cpqphp: use config space PCI interrupt pin encoding
2009-01-07 11:12:47 -08:00
cpqphp_sysfs.c
PCI: struct device - replace bus_id with dev_name(), dev_set_name()
2009-03-19 19:29:24 -07:00
fakephp.c
PCI: update fakephp for bus_id removal
2009-03-26 16:00:34 -07:00
ibmphp.h
PCI: ibmphp: stop managing hotplug_slot->name
2008-10-22 16:42:41 -07:00
ibmphp_core.c
x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h
2008-12-29 18:17:36 +01:00
ibmphp_ebda.c
PCI: ibmphp: stop managing hotplug_slot->name
2008-10-22 16:42:41 -07:00
ibmphp_hpc.c
PCI: replace remaining __FUNCTION__ occurrences
2008-04-20 21:47:09 -07:00
ibmphp_pci.c
PCI: replace remaining __FUNCTION__ occurrences
2008-04-20 21:47:09 -07:00
ibmphp_res.c
PCI: replace remaining __FUNCTION__ occurrences
2008-04-20 21:47:09 -07:00
Kconfig
powerpc/pseries: The RPA PCI hotplug driver depends on EEH
2009-03-12 15:10:02 -04:00
Makefile
PCI Hotplug: rename legacy_fakephp to fakephp
2009-03-20 14:59:37 -07:00
pci_hotplug_core.c
PCI: Hotplug core: remove 'name'
2008-10-22 16:42:43 -07:00
pciehp.h
PCI: pciehp: make cmd_busy flag one bit
2009-03-19 19:29:30 -07:00
pciehp_acpi.c
PCI: introduce missing kfree
2009-03-19 19:29:28 -07:00
pciehp_core.c
PCI: PCIe portdrv: Implement pm object
2009-03-20 10:47:49 -07:00
pciehp_ctrl.c
PCI hotplug: pciehp: remove unnecessary wait after turning power off
2009-01-07 11:12:21 -08:00
pciehp_hpc.c
PCI: pciehp: enable software notification on empty slots
2009-03-19 19:29:29 -07:00
pciehp_pci.c
PCI hotplug: pciehp: message refinement
2008-10-23 14:47:39 -07:00
pcihp_skeleton.c
PCI: replace remaining __FUNCTION__ occurrences
2008-04-20 21:47:09 -07:00
rpadlpar.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
rpadlpar_core.c
powerpc/pci: Fix various pseries PCI hotplug issues
2008-11-06 09:31:52 +11:00
rpadlpar_sysfs.c
PCI: introduce pci_slot
2008-06-10 14:37:03 -07:00
rpaphp.h
PCI hotplug: rpaphp: make debug var unique
2008-10-20 10:54:27 -07:00
rpaphp_core.c
PCI hotplug: rpaphp: make debug var unique
2008-10-20 10:54:27 -07:00
rpaphp_pci.c
PCI hotplug: rpaphp: make debug var unique
2008-10-20 10:54:27 -07:00
rpaphp_slot.c
PCI: rpaphp: kmalloc/kfree slot->name directly
2008-10-22 16:42:42 -07:00
sgi_hotplug.c
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
2008-10-23 10:20:36 -07:00
shpchp.h
PCI: add missing KERN_* constants to printks
2009-03-19 19:29:27 -07:00
shpchp_core.c
PCI hotplug: shpchp: message refinement
2008-10-23 16:14:00 -07:00
shpchp_ctrl.c
PCI hotplug: shpchp: message refinement
2008-10-23 16:14:00 -07:00
shpchp_hpc.c
PCI hotplug: shpchp: message refinement
2008-10-23 16:14:00 -07:00
shpchp_pci.c
PCI hotplug: shpchp: fix bus number check to avoid false positive
2009-03-19 19:29:33 -07:00
shpchp_sysfs.c
SHPCHP: fix __must_check warnings
2006-09-26 17:43:53 -07:00