From: Kenji Kaneshige Date: Fri, 25 Apr 2008 21:39:07 +0000 (-0700) Subject: pciehp: Mask hotplug interrupt at controller release X-Git-Tag: v2.6.26-rc1~364^2~11 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d84be093a81c29e085144c4d483d9fa0a83a1918;p=linux-2.6 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 Signed-off-by: Kristen Carlson Accardi Signed-off-by: Jesse Barnes --- diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c index 4317513771..df1266cd68 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