Author: jhb
Date: Mon Aug  1 22:19:23 2016
New Revision: 303645
URL: https://svnweb.freebsd.org/changeset/base/303645

Log:
  Disable PCI hotplug support for slots with power controllers.
  
  After further review of the spec, I do not think the current HotPlug
  code handles slots with power controllers correctly.  In particular,
  the power state of the slot is to be inferred from other events, not
  from examining the state of the power control bit in SLOT_CTL.  For now,
  disable PCI hotplug support on such slots.
  
  PR:           211081
  Tested by:    Jeffrey E Pieper <jeffrey.e.pie...@intel.com>
  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  Mon Aug  1 21:49:35 2016        (r303644)
+++ head/sys/dev/pci/pci_pci.c  Mon Aug  1 22:19:23 2016        (r303645)
@@ -932,6 +932,13 @@ pcib_probe_hotplug(struct pcib_softc *sc
        sc->pcie_link_cap = pcie_read_config(dev, PCIER_LINK_CAP, 4);
        sc->pcie_slot_cap = pcie_read_config(dev, PCIER_SLOT_CAP, 4);
 
+       /*
+        * XXX: Handling of slots with a power controller needs to be
+        * reexamined.  Ignore hotplug on such slots for now.
+        */
+       if (sc->pcie_slot_cap & PCIEM_SLOT_CAP_PCP)
+               return;
+       
        if (sc->pcie_slot_cap & PCIEM_SLOT_CAP_HPC)
                sc->flags |= PCIB_HOTPLUG;
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to