ia64/PCI: Fix incorrect PCI resource end address
authorMatt Fleming <matt@codeblueprint.co.uk>
Wed, 4 May 2016 11:17:46 +0000 (12:17 +0100)
committerTony Luck <tony.luck@intel.com>
Thu, 5 May 2016 17:29:13 +0000 (10:29 -0700)
commit f976721e826e ("ia64/PCI: Use ioremap() instead of open-coded
equivalent") introduced the following compiler warning,

  arch/ia64/sn/kernel/io_init.c: In function 'sn_io_slot_fixup':
  arch/ia64/sn/kernel/io_init.c:189:19: warning: 'addr' may be used uninitialized in this function [-Wmaybe-uninitialized]
     res->end = addr + size;
                   ^

'addr' is indeed uninitialised and the correct value to use is
res->start.

Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Bjorn Helgaas <helgaas@kernel.org>
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/sn/kernel/io_init.c

index c15a41e..d63809a 100644 (file)
@@ -151,7 +151,7 @@ sn_io_slot_fixup(struct pci_dev *dev)
 {
        int idx;
        struct resource *res;
-       unsigned long addr, size;
+       unsigned long size;
        struct pcidev_info *pcidev_info;
        struct sn_irq_info *sn_irq_info;
        int status;
@@ -186,7 +186,7 @@ sn_io_slot_fixup(struct pci_dev *dev)
                        continue;
 
                res->start = pcidev_info->pdi_pio_mapped_addr[idx];
-               res->end = addr + size;
+               res->end = res->start + size;
 
                /*
                 * if it's already in the device structure, remove it before