diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pci/hotplug/pciehp_hpc.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c index 1ce52437e1ed..1323a43285d7 100644 --- a/drivers/pci/hotplug/pciehp_hpc.c +++ b/drivers/pci/hotplug/pciehp_hpc.c | |||
@@ -337,10 +337,6 @@ static int pcie_write_cmd(struct controller *ctrl, u16 cmd, u16 mask) | |||
337 | 337 | ||
338 | slot_ctrl &= ~mask; | 338 | slot_ctrl &= ~mask; |
339 | slot_ctrl |= (cmd & mask); | 339 | slot_ctrl |= (cmd & mask); |
340 | /* Don't enable command completed if caller is changing it. */ | ||
341 | if (!(mask & CMD_CMPL_INTR_ENABLE)) | ||
342 | slot_ctrl |= CMD_CMPL_INTR_ENABLE; | ||
343 | |||
344 | ctrl->cmd_busy = 1; | 340 | ctrl->cmd_busy = 1; |
345 | smp_mb(); | 341 | smp_mb(); |
346 | retval = pciehp_writew(ctrl, SLOTCTRL, slot_ctrl); | 342 | retval = pciehp_writew(ctrl, SLOTCTRL, slot_ctrl); |
@@ -996,10 +992,10 @@ int pcie_enable_notification(struct controller *ctrl) | |||
996 | if (MRL_SENS(ctrl)) | 992 | if (MRL_SENS(ctrl)) |
997 | cmd |= MRL_DETECT_ENABLE; | 993 | cmd |= MRL_DETECT_ENABLE; |
998 | if (!pciehp_poll_mode) | 994 | if (!pciehp_poll_mode) |
999 | cmd |= HP_INTR_ENABLE; | 995 | cmd |= HP_INTR_ENABLE | CMD_CMPL_INTR_ENABLE; |
1000 | 996 | ||
1001 | mask = PRSN_DETECT_ENABLE | ATTN_BUTTN_ENABLE | | 997 | mask = PRSN_DETECT_ENABLE | ATTN_BUTTN_ENABLE | MRL_DETECT_ENABLE | |
1002 | PWR_FAULT_DETECT_ENABLE | MRL_DETECT_ENABLE | HP_INTR_ENABLE; | 998 | PWR_FAULT_DETECT_ENABLE | HP_INTR_ENABLE | CMD_CMPL_INTR_ENABLE; |
1003 | 999 | ||
1004 | if (pcie_write_cmd(ctrl, cmd, mask)) { | 1000 | if (pcie_write_cmd(ctrl, cmd, mask)) { |
1005 | err("%s: Cannot enable software notification\n", __func__); | 1001 | err("%s: Cannot enable software notification\n", __func__); |