svn commit: r313097 - head/sys/dev/pci
John Baldwin
jhb at FreeBSD.org
Thu Feb 2 17:29:17 UTC 2017
Author: jhb
Date: Thu Feb 2 17:29:15 2017
New Revision: 313097
URL: https://svnweb.freebsd.org/changeset/base/313097
Log:
Require Data Layer Active reporting for native PCI-e HotPlug.
Some PCI-e bridges report that they support HotPlug in the slot
capabilities but do not report support for Data Layer Active events
in the link capabilities register. These bridges do not work correctly
when HotPlug is used. Further, while the description of HotPlug in
the spec does not mention that DL active events are required, the
description of the link capabilities register says that DL active is
required for HotPlug. Thanks to Dave Baukus for finding that language
in the spec.
PR: 211699
Submitted by: Dave Baukus <daveb at spectralogic.com>
Reviewed by: vangyzen
MFC after: 3 days
Modified:
head/sys/dev/pci/pci_pci.c
Modified: head/sys/dev/pci/pci_pci.c
==============================================================================
--- head/sys/dev/pci/pci_pci.c Thu Feb 2 13:40:37 2017 (r313096)
+++ head/sys/dev/pci/pci_pci.c Thu Feb 2 17:29:15 2017 (r313097)
@@ -935,6 +935,8 @@ pcib_probe_hotplug(struct pcib_softc *sc
if ((sc->pcie_slot_cap & PCIEM_SLOT_CAP_HPC) == 0)
return;
+ if ((sc->pcie_link_cap & PCIEM_LINK_CAP_DL_ACTIVE) == 0)
+ return;
/*
* Some devices report that they have an MRL when they actually
More information about the svn-src-all
mailing list