|
@@ -848,6 +848,13 @@ struct controller *pcie_init(struct pcie_device *dev)
|
|
|
if (pdev->hotplug_user_indicators)
|
|
if (pdev->hotplug_user_indicators)
|
|
|
slot_cap &= ~(PCI_EXP_SLTCAP_AIP | PCI_EXP_SLTCAP_PIP);
|
|
slot_cap &= ~(PCI_EXP_SLTCAP_AIP | PCI_EXP_SLTCAP_PIP);
|
|
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
|
+ * We assume no Thunderbolt controllers support Command Complete events,
|
|
|
|
|
+ * but some controllers falsely claim they do.
|
|
|
|
|
+ */
|
|
|
|
|
+ if (pdev->is_thunderbolt)
|
|
|
|
|
+ slot_cap |= PCI_EXP_SLTCAP_NCCS;
|
|
|
|
|
+
|
|
|
ctrl->slot_cap = slot_cap;
|
|
ctrl->slot_cap = slot_cap;
|
|
|
mutex_init(&ctrl->ctrl_lock);
|
|
mutex_init(&ctrl->ctrl_lock);
|
|
|
init_waitqueue_head(&ctrl->queue);
|
|
init_waitqueue_head(&ctrl->queue);
|