PCI: Preserve resource size during alignment reordering
Changes
1 files changed · +3 −2
| File | Status | Add | Del | Content |
|---|---|---|---|---|
| drivers/pci/setup-bus.c | modified | +3 | −2 | View file |
drivers/pci/setup-bus.c
View filediff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index aa281d9..508cc56 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -428,9 +428,10 @@ 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,