Re: [PATCH] ia64/PCI: Fix the build warning of pci_domain_nr()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 4, 2015 at 12:16 AM, Yijing Wang <wangyijing@xxxxxxxxxx> wrote:
> We should pass pci_bus * instead of pci_dev * to pci_domain_nr().
>
> Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx>
> CC: Tony Luck <tony.luck@xxxxxxxxx>
> CC: Fenghua Yu <fenghua.yu@xxxxxxxxx>
> CC: linux-ia64@xxxxxxxxxxxxxxx
> CC: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>

I think this seems correct, at least in terms of fixing a build issue.
But it changes some behavior too.  It would be nice to have
confirmation that the change *fixes* something rather than breaking
something.

It looks like this code has been this way since 6f09a9250a5d ("Altix:
ACPI SSDT PCI device support") in 2007.  So if it really is broken
without this fix, it seems strange that we wouldn't have noticed until
now.

Tony, since I can't test this, and the rest of Yijing's PCI series
doesn't depend on this, do you want to take care of this?  You can
drop my Signed-off-by in that case.

Bjorn

> ---
>  arch/ia64/sn/kernel/io_acpi_init.c |    6 +++---
>  arch/ia64/sn/kernel/io_init.c      |    2 +-
>  2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/ia64/sn/kernel/io_acpi_init.c b/arch/ia64/sn/kernel/io_acpi_init.c
> index 0640739..2fd7414 100644
> --- a/arch/ia64/sn/kernel/io_acpi_init.c
> +++ b/arch/ia64/sn/kernel/io_acpi_init.c
> @@ -364,12 +364,12 @@ sn_acpi_get_pcidev_info(struct pci_dev *dev, struct pcidev_info **pcidev_info,
>          status = acpi_evaluate_integer(rootbus_handle, METHOD_NAME__SEG, NULL,
>                                         &segment);
>          if (ACPI_SUCCESS(status)) {
> -               if (segment != pci_domain_nr(dev)) {
> +               if (segment != pci_domain_nr(dev->bus)) {
>                         acpi_get_name(rootbus_handle, ACPI_FULL_PATHNAME,
>                                 &name_buffer);
>                         printk(KERN_ERR
>                                "%s: Segment number mismatch, 0x%llx vs 0x%x for: %s\n",
> -                              __func__, segment, pci_domain_nr(dev),
> +                              __func__, segment, pci_domain_nr(dev->bus),
>                                (char *)name_buffer.pointer);
>                         kfree(name_buffer.pointer);
>                         return 1;
> @@ -407,7 +407,7 @@ sn_acpi_get_pcidev_info(struct pci_dev *dev, struct pcidev_info **pcidev_info,
>         /* Build up the pcidev_info.pdi_slot_host_handle */
>         host_devfn = get_host_devfn(pcidev_match.handle, rootbus_handle);
>         (*pcidev_info)->pdi_slot_host_handle =
> -                       ((unsigned long) pci_domain_nr(dev) << 40) |
> +                       ((unsigned long) pci_domain_nr(dev->bus) << 40) |
>                                         /* bus == 0 */
>                                         host_devfn;
>         return 0;
> diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c
> index 55776df..19506a5 100644
> --- a/arch/ia64/sn/kernel/io_init.c
> +++ b/arch/ia64/sn/kernel/io_init.c
> @@ -164,7 +164,7 @@ sn_io_slot_fixup(struct pci_dev *dev)
>                 panic("%s: Unable to alloc memory for sn_irq_info", __func__);
>
>         /* Call to retrieve pci device information needed by kernel. */
> -       status = sal_get_pcidev_info((u64) pci_domain_nr(dev),
> +       status = sal_get_pcidev_info((u64) pci_domain_nr(dev->bus),
>                 (u64) dev->bus->number,
>                 dev->devfn,
>                 (u64) __pa(pcidev_info),
> --
> 1.7.1
>
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]