diff options
author | 2024-12-16 19:56:19 +0200 | |
---|---|---|
committer | 2025-02-18 15:40:53 -0600 | |
commit | 22fb2eda5478f55c8750eb76b7656d2c90de4b39 (patch) | |
tree | 86503da9c5dc37225fcd0db6fca6ff6e681cf1bc | |
parent | PCI: Add dev & res local variables to resource assignment funcs (diff) | |
download | wireguard-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.c | 5 |
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); } |