|
@@ -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
|
|
|
* the link control register, rather than clearing the
|
|
|
* RW1C bits in the link status register. Mask out the
|
|
|
- * status register bits.
|
|
|
+ * RW1C status register bits.
|
|
|
*/
|
|
|
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);
|
|
|
break;
|