svn commit: r313408 - stable/11/sys/dev/pci

John Baldwin jhb at FreeBSD.org
Tue Feb 7 22:40:39 UTC 2017


Author: jhb
Date: Tue Feb  7 22:40:38 2017
New Revision: 313408
URL: https://svnweb.freebsd.org/changeset/base/313408

Log:
  MFC 313097: 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

Modified:
  stable/11/sys/dev/pci/pci_pci.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/pci/pci_pci.c
==============================================================================
--- stable/11/sys/dev/pci/pci_pci.c	Tue Feb  7 20:34:03 2017	(r313407)
+++ stable/11/sys/dev/pci/pci_pci.c	Tue Feb  7 22:40:38 2017	(r313408)
@@ -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