Skip to content

Commit f787b68

Browse files
committed
Merge branch 'pci/hotplug'
- Clear pciehp cmd_busy bit when command completes in polling mode to avoid spurious timeouts (Liguang Zhang) - Add quirk to work around Qualcomm hardware defect in Command Completed signaling (Manivannan Sadhasivam) * pci/hotplug: PCI: pciehp: Add Qualcomm quirk for Command Completed erratum PCI: pciehp: Clear cmd_busy bit in polling mode
2 parents a9af571 + 9f72d47 commit f787b68

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

drivers/pci/hotplug/pciehp_hpc.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ static int pcie_poll_cmd(struct controller *ctrl, int timeout)
9898
if (slot_status & PCI_EXP_SLTSTA_CC) {
9999
pcie_capability_write_word(pdev, PCI_EXP_SLTSTA,
100100
PCI_EXP_SLTSTA_CC);
101+
ctrl->cmd_busy = 0;
102+
smp_mb();
101103
return 1;
102104
}
103105
msleep(10);
@@ -1084,6 +1086,8 @@ static void quirk_cmd_compl(struct pci_dev *pdev)
10841086
}
10851087
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_INTEL, PCI_ANY_ID,
10861088
PCI_CLASS_BRIDGE_PCI, 8, quirk_cmd_compl);
1089+
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_QCOM, 0x0110,
1090+
PCI_CLASS_BRIDGE_PCI, 8, quirk_cmd_compl);
10871091
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_QCOM, 0x0400,
10881092
PCI_CLASS_BRIDGE_PCI, 8, quirk_cmd_compl);
10891093
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_QCOM, 0x0401,

0 commit comments

Comments
 (0)