浏览代码

Merge branch 'pci/host-mvebu' into next

* pci/host-mvebu:
  PCI: mvebu: Avoid changing the SCC bit in the Link Status register
Bjorn Helgaas 8 年之前
父节点
当前提交
443b1b0671
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3 2
      drivers/pci/host/pci-mvebu.c

+ 3 - 2
drivers/pci/host/pci-mvebu.c

@@ -752,10 +752,11 @@ static int mvebu_sw_pci_bridge_write(struct mvebu_pcie_port *port,
 		 * If the mask is 0xffff0000, then we only want to write
 		 * If the mask is 0xffff0000, then we only want to write
 		 * the link control register, rather than clearing the
 		 * the link control register, rather than clearing the
 		 * RW1C bits in the link status register.  Mask out the
 		 * RW1C bits in the link status register.  Mask out the
-		 * status register bits.
+		 * RW1C status register bits.
 		 */
 		 */
 		if (mask == 0xffff0000)
 		if (mask == 0xffff0000)
-			value &= 0xffff;
+			value &= ~((PCI_EXP_LNKSTA_LABS |
+				    PCI_EXP_LNKSTA_LBMS) << 16);
 
 
 		mvebu_writel(port, value, PCIE_CAP_PCIEXP + PCI_EXP_LNKCTL);
 		mvebu_writel(port, value, PCIE_CAP_PCIEXP + PCI_EXP_LNKCTL);
 		break;
 		break;