]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/pci/hotplug/pciehp_hpc.c
pciehp: Fix command write
[linux-2.6-omap-h63xx.git] / drivers / pci / hotplug / pciehp_hpc.c
index 3efb1296290d369c028e5847cc45b3062f483665..49883c59756e5f81e53ad3aed9a1c5600c8e7819 100644 (file)
@@ -301,7 +301,10 @@ static int pcie_write_cmd(struct controller *ctrl, u16 cmd, u16 mask)
        }
 
        slot_ctrl &= ~mask;
-       slot_ctrl |= ((cmd & mask) | CMD_CMPL_INTR_ENABLE);
+       slot_ctrl |= (cmd & mask);
+       /* Don't enable command completed if caller is changing it. */
+       if (!(mask & CMD_CMPL_INTR_ENABLE))
+               slot_ctrl |= CMD_CMPL_INTR_ENABLE;
 
        ctrl->cmd_busy = 1;
        smp_mb();