PERFORCE change 230431 for review

John Baldwin jhb at FreeBSD.org
Tue Jul 2 19:43:17 UTC 2013


http://p4web.freebsd.org/@@230431?ac=10

Change 230431 by jhb at jhb_fiver on 2013/07/02 19:42:57

	Move the acpi_DeviceIsPresent() check earlier and remove it
	from the PCI-PCI bridge driver entirely.  We discover all
	PCI-PCI bridges via PCI (not ACPI), so it definitely exists.
	
	PR:		91594

Affected files ...

.. //depot/projects/pci/sys/dev/acpica/acpi_pcib.c#4 edit
.. //depot/projects/pci/sys/dev/acpica/acpi_pcib_acpi.c#32 edit

Differences ...

==== //depot/projects/pci/sys/dev/acpica/acpi_pcib.c#4 (text+ko) ====

@@ -135,15 +135,6 @@
     ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
 
     /*
-     * Don't attach if we're not really there.
-     *
-     * XXX: This isn't entirely correct since we may be a PCI bus
-     * on a hot-plug docking station, etc.
-     */
-    if (!acpi_DeviceIsPresent(dev))
-	return_VALUE(ENXIO);
-
-    /*
      * Get the PCI interrupt routing table for this bus.  If we can't
      * get it, this is not an error but may reduce functionality.  There
      * are several valid bridges in the field that do not have a _PRT, so

==== //depot/projects/pci/sys/dev/acpica/acpi_pcib_acpi.c#32 (text+ko) ====

@@ -292,6 +292,12 @@
     sc->ap_handle = acpi_get_handle(dev);
 
     /*
+     * Don't attach if we're not really there.
+     */
+    if (!acpi_DeviceIsPresent(dev))
+	return (ENXIO);
+
+    /*
      * Get our segment number by evaluating _SEG.
      * It's OK for this to not exist.
      */
@@ -358,7 +364,7 @@
 	if (status != AE_NOT_FOUND) {
 	    device_printf(dev, "could not evaluate _BBN - %s\n",
 		AcpiFormatException(status));
-	    return_VALUE (ENXIO);
+	    return (ENXIO);
 	} else {
 	    /* If it's not found, assume 0. */
 	    sc->ap_bus = 0;


More information about the p4-projects mailing list