From 230ebeba7eb9803d9ef87b47b2222de5bde5de23 Mon Sep 17 00:00:00 2001 From: Bjorn Helgaas Date: Fri, 28 Oct 2011 16:27:17 -0600 Subject: [PATCH] --- yaml --- r: 283375 b: refs/heads/master c: f4d9ea9abf04a6ad9643df5497e6243fbf64196e h: refs/heads/master i: 283373: c8c3e17c2df9940a6c149360c3087859aab376e5 283371: 9762f461192667f6225cf03f20a2cffc5dd05e90 283367: 6293dfe8ac6e97da03b3182fe07cf895564d3e24 283359: 8d2a3a619d2fb9dde981f0d11a252aa64581aa03 v: v3 --- [refs] | 2 +- trunk/drivers/parisc/lba_pci.c | 35 +++++++++++++++++----------------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/[refs] b/[refs] index 442a8110fbda..041bb9e9238f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7590e500ad83d9ac1e55eed4720e053eff14b8e5 +refs/heads/master: f4d9ea9abf04a6ad9643df5497e6243fbf64196e diff --git a/trunk/drivers/parisc/lba_pci.c b/trunk/drivers/parisc/lba_pci.c index 3aeb3279c92a..2c7edf3a6cd0 100644 --- a/trunk/drivers/parisc/lba_pci.c +++ b/trunk/drivers/parisc/lba_pci.c @@ -689,23 +689,7 @@ lba_fixup_bus(struct pci_bus *bus) bus->resource[i++] = &(ldev->hba.elmmio_space); } - - /* Overlaps with elmmio can (and should) fail here. - * We will prune (or ignore) the distributed range. - * - * FIXME: SBA code should register all elmmio ranges first. - * that would take care of elmmio ranges routed - * to a different rope (already discovered) from - * getting registered *after* LBA code has already - * registered it's distributed lmmio range. - */ - if (truncate_pat_collision(&iomem_resource, - &(ldev->hba.lmmio_space))) { - - printk(KERN_WARNING "LBA: lmmio_space [%lx/%lx] duplicate!\n", - (long)ldev->hba.lmmio_space.start, - (long)ldev->hba.lmmio_space.end); - } else { + if (ldev->hba.lmmio_space.flags) { err = request_resource(&iomem_resource, &(ldev->hba.lmmio_space)); if (err < 0) { printk(KERN_ERR "FAILED: lba_fixup_bus() request for " @@ -1518,6 +1502,23 @@ lba_driver_probe(struct parisc_device *dev) if (lba_dev->hba.bus_num.start < lba_next_bus) lba_dev->hba.bus_num.start = lba_next_bus; + /* Overlaps with elmmio can (and should) fail here. + * We will prune (or ignore) the distributed range. + * + * FIXME: SBA code should register all elmmio ranges first. + * that would take care of elmmio ranges routed + * to a different rope (already discovered) from + * getting registered *after* LBA code has already + * registered it's distributed lmmio range. + */ + if (truncate_pat_collision(&iomem_resource, + &(lba_dev->hba.lmmio_space))) { + printk(KERN_WARNING "LBA: lmmio_space [%lx/%lx] duplicate!\n", + (long)lba_dev->hba.lmmio_space.start, + (long)lba_dev->hba.lmmio_space.end); + lba_dev->hba.lmmio_space.flags = 0; + } + dev->dev.platform_data = lba_dev; lba_bus = lba_dev->hba.hba_bus = pci_scan_bus_parented(&dev->dev, lba_dev->hba.bus_num.start,