Hi Andrew,

We need this patch for APCI hotplug because APCI parser gets bus number from 
acpi_object_extra. I already tested this patch by ACPI hotplug, and confirmed 
there is no problem on our box has described PCI topology.
I don't have git rights.
Could you merge this patch into Linus's tree?

Thanks,
Eiichiro Oiwa

>From: <[EMAIL PROTECTED]>
>
>Lifted from http://bugzilla.kernel.org/show_bug.cgi?id=7145
>
>PCI Bus Topology:
>
>[CPU] [CPU]        [CPU]  [CPU]
>  |      |BUS        |     |   BUS
>--+--+---+---      --+--+--+------
>     |                  |
> [Root Bridge]*1-----[Root Bridge]*1
>     |      |           \        \
> [Bridge]   |        [PCI-e slot] [PCI-e slot]
>    | |    [PCI-e slot]
>    | \
>    | [PCI-e slot]
>    |
>    |
> [PCI Bridge]
>    |     \
>    |      [PCI-X slot]
>    |
> [PCI-X slot]
>
>*1: PCI Express Root Bridge.
>
>I could not get correct PCI Express BUS number from the structure of
>acpi_object_extra.  I always get zero as BUS number regardless of BUS
>location.  I found that there is incorrect comparison with _HID (PNP0A08)
>in acpi/events/evrgnini.c and PCI Express _BBN method always fail. 
>Therefore, we get always get zero as PCI Express bus number.
>
>I suggest the following patch.
>
>Cc: "Brown, Len" <[EMAIL PROTECTED]>
>Cc: <[email protected]>
>Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
>---
>
> drivers/acpi/events/evrgnini.c |    4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff -puN 
>drivers/acpi/events/evrgnini.c~fix-incorrect-handling-of-pci-express-root-bridge-_hid
> drivers/acpi/events/evrgnini.c
>--- 
>a/drivers/acpi/events/evrgnini.c~fix-incorrect-handling-of-pci-express-root-bridge-_hid
>+++ a/drivers/acpi/events/evrgnini.c
>@@ -225,12 +225,12 @@ acpi_ev_pci_config_region_setup(acpi_han
>                               if (!
>                                   (ACPI_STRNCMP
>                                    (object_hID.value, PCI_ROOT_HID_STRING,
>-                                    sizeof(PCI_ROOT_HID_STRING))
>+                                    sizeof(PCI_ROOT_HID_STRING)))
>                                    ||
>                                    !(ACPI_STRNCMP
>                                      (object_hID.value,
>                                       PCI_EXPRESS_ROOT_HID_STRING,
>-                                      sizeof(PCI_EXPRESS_ROOT_HID_STRING)))))
>+                                      sizeof(PCI_EXPRESS_ROOT_HID_STRING))))
>                               {
> 
>                                       /* Install a handler for this PCI root 
> bridge */
>_
>
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to