Re: [2.6.31-rc1] oops in acpi_get_pci_dev

Jeff Chua
2009-06-25T16:09:16Z

On Thu, Jun 25, 2009 at 11:13 PM, Troy Moure<twmoure@szypr.net> wrote:
> (I don't know if it's the "right" fix or not, not being familiar with the
> system.  If it is, I can send it in as a proper patch.)
>
> diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
> index 8a5bf3b..55b5b90 100644
> --- a/drivers/acpi/pci_root.c
> +++ b/drivers/acpi/pci_root.c
> @@ -395,7 +395,7 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
>                fn  = adr & 0xffff;
>
>                pdev = pci_get_slot(pbus, PCI_DEVFN(dev, fn));
> -               if (hnd == handle)
> +               if (!pdev || hnd == handle)
>                        break;
>
>                pbus = pdev->subordinate;

I've the same problem with booting hangs, and your patch fixed the
problem on my ThinkPad X61.

Thanks,
Jeff.