PCI Hotplug: acpiphp: grab refcount on p2p subordinate bus
authorAlex Chiang <achiang@hp.com>
Mon, 30 Mar 2009 16:50:14 +0000 (10:50 -0600)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Mon, 6 Apr 2009 18:30:26 +0000 (11:30 -0700)
commit5d4a4b25ddc3e864d3a562c024bebdc922118854
tree9f0c9cdf4c14487517be83e82596a83616d905af
parentc2ac7cdc6707a8a3fc5cdaebb65cb724ba8ecdef
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>
drivers/pci/hotplug/acpiphp_glue.c