--- acpi_pci_link.c.orig Thu Dec 29 22:04:07 2005 +++ acpi_pci_link.c Thu Dec 29 22:14:29 2005 @@ -411,6 +411,7 @@ ACPI_STATUS status; int i; + printf("attach started\n"); sc = device_get_softc(dev); sc->pl_dev = dev; ACPI_SERIAL_BEGIN(pci_link); @@ -422,14 +423,19 @@ */ creq.in_dpf = DPF_OUTSIDE; creq.count = 0; + device_printf(dev, "calling _CRS\n"); status = AcpiWalkResources(acpi_get_handle(dev), "_CRS", acpi_count_irq_resources, &creq); + device_printf(dev, "_CRS returned %s\n", AcpiFormatException(status)); sc->pl_crs_bad = ACPI_FAILURE(status); if (sc->pl_crs_bad) { creq.in_dpf = DPF_OUTSIDE; creq.count = 0; + device_printf(dev, "calling _PRS\n"); status = AcpiWalkResources(acpi_get_handle(dev), "_PRS", acpi_count_irq_resources, &creq); + device_printf(dev, "_PRS returned %s\n", + AcpiFormatException(status)); if (ACPI_FAILURE(status)) { device_printf(dev, "Unable to parse _CRS or _PRS: %s\n", @@ -439,6 +445,7 @@ } } sc->pl_num_links = creq.count; + device_printf(dev, "num_links = %d\n", sc->pl_num_links); if (creq.count == 0) return (0); sc->pl_links = malloc(sizeof(struct link) * sc->pl_num_links, @@ -452,6 +459,7 @@ sc->pl_links[i].l_isa_irq = FALSE; sc->pl_links[i].l_res_index = -1; } + device_printf(dev, "%d links initialized after child links\n", sc->pl_num_links); /* Try to read the current settings from _CRS if it is valid. */ if (!sc->pl_crs_bad) { @@ -459,8 +467,11 @@ rreq.link_index = 0; rreq.res_index = 0; rreq.sc = sc; + device_printf(dev, "calling _CRS again\n"); status = AcpiWalkResources(acpi_get_handle(dev), "_CRS", link_add_crs, &rreq); + device_printf(dev, "_CRS returned %s\n", + AcpiFormatException(status)); if (ACPI_FAILURE(status)) { device_printf(dev, "Unable to parse _CRS: %s\n", AcpiFormatException(status)); @@ -477,8 +488,10 @@ rreq.link_index = 0; rreq.res_index = 0; rreq.sc = sc; + device_printf(dev, "calling _PRS again\n"); status = AcpiWalkResources(acpi_get_handle(dev), "_PRS", link_add_prs, &rreq); + device_printf(dev, "_PRS returned %s\n", AcpiFormatException(status)); if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND || sc->pl_crs_bad)) { device_printf(dev, "Unable to parse _PRS: %s\n",