aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>2024-12-16 19:56:19 +0200
committerBjorn Helgaas <bhelgaas@google.com>2025-02-18 15:40:53 -0600
commit22fb2eda5478f55c8750eb76b7656d2c90de4b39 (patch)
tree86503da9c5dc37225fcd0db6fca6ff6e681cf1bc
parentPCI: Add dev & res local variables to resource assignment funcs (diff)
downloadwireguard-linux-22fb2eda5478f55c8750eb76b7656d2c90de4b39.tar.xz
wireguard-linux-22fb2eda5478f55c8750eb76b7656d2c90de4b39.zip
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 <ilpo.jarvinen@linux.intel.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Tested-by: Xiaochun Lee <lixc17@lenovo.com>
-rw-r--r--drivers/pci/setup-bus.c5
1 files changed, 3 insertions, 2 deletions
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);
}