Hi Lin,
By exchangeing some e-mails with Tomasz locally and trying printk debug,
we probably find the root cause of Tomasz's problem.
Could you create a new thread to summarize this problem, Tomasz ?
Would you please apply this debug patch to 2.6.28-rc3 and then
see what happens?
We've tried similar printk debug, so I can expect the result.
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index b3a63ed..2dcdc32 100644
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -177,12 +177,14 @@ out:
**/
acpi_status __pci_osc_support_set(u32 flags, const char *hid)
{
+ acpi_status status;
+
if (!(flags & OSC_SUPPORT_MASKS))
return AE_TYPE;
- acpi_get_devices(hid, acpi_query_osc,
+ status = acpi_get_devices(hid, acpi_query_osc,
(void *)(unsigned long)flags, NULL);
- return AE_OK;
+ return status;
status was 0.
}
/**
diff --git a/drivers/pci/pcie/aer/aerdrv_acpi.c b/drivers/pci/pcie/aer/aerdrv_acpi.c
index 6dd7b13..4f373d4 100644
--- a/drivers/pci/pcie/aer/aerdrv_acpi.c
+++ b/drivers/pci/pcie/aer/aerdrv_acpi.c
@@ -38,17 +38,23 @@ int aer_osc_setup(struct pcie_device *pciedev)
handle = acpi_find_root_bridge_handle(pdev);
if (handle) {
- pcie_osc_support_set(OSC_EXT_PCI_CONFIG_SUPPORT);
+ status = pcie_osc_support_set(OSC_EXT_PCI_CONFIG_SUPPORT);
+ if (ACPI_FAILURE(status)) {
+ dev_printk(KERN_DEBUG, &pciedev->device,
+ "AER_DEBUG: pcie_osc_support_set failed, status 0x%x, %s\n",
+ status, acpi_format_exception(status));
+ }
status was 0, so no debug messages would be output.
status = pci_osc_control_set(handle,
OSC_PCI_EXPRESS_AER_CONTROL |
OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL);
status was 1.
}
if (ACPI_FAILURE(status)) {
- dev_printk(KERN_DEBUG, &pciedev->device, "AER service couldn't "
- "init device: %s\n",
+ dev_printk(KERN_DEBUG, &pciedev->device, "AER_DEBUG: AER service couldn't "
+ "init device: %s, status 0x%x, %s\n",
(status == AE_SUPPORT || status == AE_NOT_FOUND) ?
- "no _OSC support" : "_OSC failed");
+ "no _OSC support" : "_OSC failed",
+ status, acpi_format_exception(status));
return -1;
}
Taku Izumi <izumi.taku@xxxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html