Now __sort_resources, and pdev_sort_resources all have sorting code. As we are going to call __sort_resources several places later, so choose to keep __sort_resources, and remove related code in pdev_sort_resources. Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> --- drivers/pci/setup-bus.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 6f2d508..6642a60 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c @@ -215,9 +215,8 @@ static void pdev_sort_resources(struct pci_dev *dev, for (i = 0; i < PCI_NUM_RESOURCES; i++) { struct resource *r; - struct pci_dev_resource *dev_res, *tmp; + struct pci_dev_resource *tmp; resource_size_t r_align; - struct list_head *n; r = &dev->resource[i]; @@ -240,22 +239,7 @@ static void pdev_sort_resources(struct pci_dev *dev, tmp->res = r; tmp->dev = dev; - /* fallback is smallest one or list is empty*/ - n = head; - list_for_each_entry(dev_res, head, list) { - resource_size_t align; - - align = __pci_resource_alignment(dev_res->dev, - dev_res->res, - realloc_head); - - if (r_align > align) { - n = &dev_res->list; - break; - } - } - /* Insert it just before n*/ - list_add_tail(&tmp->list, n); + list_add_tail(&tmp->list, head); } } @@ -558,9 +542,9 @@ static void __assign_resources_sorted(struct list_head *head, } free_list(&save_head); +requested_and_reassign: __sort_resources(head); -requested_and_reassign: /* Satisfy the must-have resource requests */ assign_requested_resources_sorted(head, fail_head); -- 1.8.4.5 -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html