aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/hotplug/pciehp_hpc.c
diff options
context:
space:
mode:
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>2008-04-25 17:39:07 -0400
committerJesse Barnes <jbarnes@virtuousgeek.org>2008-04-25 17:39:07 -0400
commitd84be093a81c29e085144c4d483d9fa0a83a1918 (patch)
tree0bdf5644d9a250a39414261fa2d4e3599b4082b6 /drivers/pci/hotplug/pciehp_hpc.c
parentcff006543fa3fca2a47dd795ac524237489858d6 (diff)
pciehp: Mask hotplug interrupt at controller release
We must disable hotplug interrupt at controller relase time, otherwise spurious interrupts might happen if any slot events occured (e.g. MRL change) after unloading pciehp driver. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci/hotplug/pciehp_hpc.c')
-rw-r--r--drivers/pci/hotplug/pciehp_hpc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c
index 4317513771d1..df1266cd6861 100644
--- a/drivers/pci/hotplug/pciehp_hpc.c
+++ b/drivers/pci/hotplug/pciehp_hpc.c
@@ -537,6 +537,10 @@ static void hpc_set_green_led_blink(struct slot *slot)
537 537
538static void hpc_release_ctlr(struct controller *ctrl) 538static void hpc_release_ctlr(struct controller *ctrl)
539{ 539{
540 /* Mask Hot-plug Interrupt Enable */
541 if (pcie_write_cmd(ctrl, 0, HP_INTR_ENABLE | CMD_CMPL_INTR_ENABLE))
542 err("%s: Cannot mask hotplut interrupt enable\n", __func__);
543
540 if (pciehp_poll_mode) 544 if (pciehp_poll_mode)
541 del_timer(&ctrl->poll_timer); 545 del_timer(&ctrl->poll_timer);
542 else 546 else