Date: Thu, 2 Feb 2017 17:29:16 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r313097 - head/sys/dev/pci Message-ID: <201702021729.v12HTGuX095209@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702021729.v12HTGuX095209>