瀏覽代碼

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>
Kenji Kaneshige 17 年之前
父節點
當前提交
d84be093a8
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      drivers/pci/hotplug/pciehp_hpc.c

+ 4 - 0
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