aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-06-05 13:22:06 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-06-05 13:22:06 -0400
commit456fdb267377b88fa37abf60fcbd9bfaa813bf1f (patch)
treee61e262e78e0dfe3ccd6cd4589c9361d116796c1
parent6e6f9e0b00f9ecfa816b290e08d5e660c3f1aae5 (diff)
parent552bc94ebeeb189d0ac682dae95cf05e6b72d7fd (diff)
Merge tag 'pci-v4.1-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI fixes from Bjorn Helgaas: "Resource management - Fix IOV sorting by alignment (Wei Yang) - Preserve resource size during alignment reordering (Yinghai Lu) Miscellaneous - MAINTAINERS: Add Pratyush for SPEAr13xx and DesignWare PCIe (Pratyush Anand)" * tag 'pci-v4.1-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: PCI: Preserve resource size during alignment reordering PCI: Fix IOV resource sorting by alignment requirement MAINTAINERS: Add Pratyush Anand as SPEAr13xx and DesignWare PCIe maintainer
-rw-r--r--MAINTAINERS4
-rw-r--r--drivers/pci/setup-bus.c9
2 files changed, 9 insertions, 4 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index a5b8584da5bf..d8afd2953678 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7575,6 +7575,7 @@ F: drivers/pci/host/pci-exynos.c
7575 7575
7576PCI DRIVER FOR SYNOPSIS DESIGNWARE 7576PCI DRIVER FOR SYNOPSIS DESIGNWARE
7577M: Jingoo Han <jingoohan1@gmail.com> 7577M: Jingoo Han <jingoohan1@gmail.com>
7578M: Pratyush Anand <pratyush.anand@gmail.com>
7578L: linux-pci@vger.kernel.org 7579L: linux-pci@vger.kernel.org
7579S: Maintained 7580S: Maintained
7580F: drivers/pci/host/*designware* 7581F: drivers/pci/host/*designware*
@@ -7588,8 +7589,9 @@ F: Documentation/devicetree/bindings/pci/host-generic-pci.txt
7588F: drivers/pci/host/pci-host-generic.c 7589F: drivers/pci/host/pci-host-generic.c
7589 7590
7590PCIE DRIVER FOR ST SPEAR13XX 7591PCIE DRIVER FOR ST SPEAR13XX
7592M: Pratyush Anand <pratyush.anand@gmail.com>
7591L: linux-pci@vger.kernel.org 7593L: linux-pci@vger.kernel.org
7592S: Orphan 7594S: Maintained
7593F: drivers/pci/host/*spear* 7595F: drivers/pci/host/*spear*
7594 7596
7595PCMCIA SUBSYSTEM 7597PCMCIA SUBSYSTEM
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 4fd0cacf7ca0..508cc56130e3 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -428,16 +428,19 @@ static void __assign_resources_sorted(struct list_head *head,
428 * consistent. 428 * consistent.
429 */ 429 */
430 if (add_align > dev_res->res->start) { 430 if (add_align > dev_res->res->start) {
431 resource_size_t r_size = resource_size(dev_res->res);
432
431 dev_res->res->start = add_align; 433 dev_res->res->start = add_align;
432 dev_res->res->end = add_align + 434 dev_res->res->end = add_align + r_size - 1;
433 resource_size(dev_res->res);
434 435
435 list_for_each_entry(dev_res2, head, list) { 436 list_for_each_entry(dev_res2, head, list) {
436 align = pci_resource_alignment(dev_res2->dev, 437 align = pci_resource_alignment(dev_res2->dev,
437 dev_res2->res); 438 dev_res2->res);
438 if (add_align > align) 439 if (add_align > align) {
439 list_move_tail(&dev_res->list, 440 list_move_tail(&dev_res->list,
440 &dev_res2->list); 441 &dev_res2->list);
442 break;
443 }
441 } 444 }
442 } 445 }
443 446