summaryrefslogtreecommitdiff
path: root/drivers/pci/setup-bus.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2015-06-09 06:06:56 +0300
committerDavid S. Miller <davem@davemloft.net>2015-06-09 06:06:56 +0300
commit941742f49762ba4c908510f036b09a46c1b14513 (patch)
treeaafb7a72c2072f98889406668003234bed56df02 /drivers/pci/setup-bus.c
parentac7ba51c215db5739eb640f2f26025ced8668285 (diff)
parent5879ae5fd052a63d5ac0684320cb7df3e83da7de (diff)
downloadlinux-941742f49762ba4c908510f036b09a46c1b14513.tar.xz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'drivers/pci/setup-bus.c')
-rw-r--r--drivers/pci/setup-bus.c9
1 files changed, 6 insertions, 3 deletions
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,
* consistent.
*/
if (add_align > dev_res->res->start) {
+ resource_size_t r_size = resource_size(dev_res->res);
+
dev_res->res->start = add_align;
- dev_res->res->end = add_align +
- resource_size(dev_res->res);
+ dev_res->res->end = add_align + r_size - 1;
list_for_each_entry(dev_res2, head, list) {
align = pci_resource_alignment(dev_res2->dev,
dev_res2->res);
- if (add_align > align)
+ if (add_align > align) {
list_move_tail(&dev_res->list,
&dev_res2->list);
+ break;
+ }
}
}