From: Ilpo Järvinen Date: Mon, 16 Dec 2024 17:56:19 +0000 (+0200) Subject: PCI: Converge return paths in __assign_resources_sorted() X-Git-Tag: block-6.15-20250403~40^2~22^2~24 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=22fb2eda5478f55c8750eb76b7656d2c90de4b39;p=linux-block.git PCI: Converge return paths in __assign_resources_sorted() All return paths want to free head list in __assign_resources_sorted(), so add a label and use goto. Link: https://lore.kernel.org/r/20241216175632.4175-13-ilpo.jarvinen@linux.intel.com Signed-off-by: Ilpo Järvinen Signed-off-by: Bjorn Helgaas Tested-by: Xiaochun Lee --- diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 916474af56ad..8fda0354e543 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c @@ -444,8 +444,7 @@ static void __assign_resources_sorted(struct list_head *head, list_for_each_entry(dev_res, head, list) remove_from_list(realloc_head, dev_res->res); free_list(&save_head); - free_list(head); - return; + goto out; } /* Check failed type */ @@ -488,6 +487,8 @@ requested_and_reassign: /* Try to satisfy any additional optional resource requests */ if (realloc_head) reassign_resources_sorted(realloc_head, head); + +out: free_list(head); }