summaryrefslogtreecommitdiff
path: root/drivers/pci
diff options
context:
space:
mode:
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>2008-04-25 21:39:07 (GMT)
committerJesse Barnes <jbarnes@virtuousgeek.org>2008-04-25 21:39:07 (GMT)
commitd84be093a81c29e085144c4d483d9fa0a83a1918 (patch)
tree0bdf5644d9a250a39414261fa2d4e3599b4082b6 /drivers/pci
parentcff006543fa3fca2a47dd795ac524237489858d6 (diff)
downloadlinux-fsl-qoriq-d84be093a81c29e085144c4d483d9fa0a83a1918.tar.xz
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')
-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 4317513..df1266c 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)
static void hpc_release_ctlr(struct controller *ctrl)
{
+ /* Mask Hot-plug Interrupt Enable */
+ if (pcie_write_cmd(ctrl, 0, HP_INTR_ENABLE | CMD_CMPL_INTR_ENABLE))
+ err("%s: Cannot mask hotplut interrupt enable\n", __func__);
+
if (pciehp_poll_mode)
del_timer(&ctrl->poll_timer);
else