On Wed, 21 Jan 2026, Ilpo Järvinen wrote: > The commit 337b1b566db0 ("PCI: Fix restoring BARs on BAR resize > rollback path") added BAR rollback to > pci_do_resource_release_and_resize() in case of resize failure. > > On the rollback, pci_claim_resource() is called which can fail and the > code is prepared for that possibility. pci_claim_resource()'s return > value, however, overwrites the original value of ret so > pci_claim_resource() will return incorrect value in the end (as Hi Bjorn, I noticed this should have been: "pci_do_resource_release_and_resize() will return incorrect value in the end ..." (used a wrong function name). Could you please adjust the commit message in your tree if it's not too late yet? I'm sorry about the extra hassle. -- i. > pci_claim_resource() normally succeeds, in practice ret will be 0). > > Fix the issue by directly calling pci_claim_resource() inside the if (). > > Fixes: 337b1b566db0 ("PCI: Fix restoring BARs on BAR resize rollback path") > Link: https://lore.kernel.org/linux-pci/aW_w1oFQCzUxGYtu@intel.com/ > Cc: stable@vger.kernel.org > Reported-by: Ville Syrjälä > Signed-off-by: Ilpo Järvinen > --- > drivers/pci/setup-bus.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c > index 6e90f46f52af..9c374feafc77 100644 > --- a/drivers/pci/setup-bus.c > +++ b/drivers/pci/setup-bus.c > @@ -2556,8 +2556,7 @@ int pci_do_resource_release_and_resize(struct pci_dev *pdev, int resno, int size > > restore_dev_resource(dev_res); > > - ret = pci_claim_resource(dev, i); > - if (ret) > + if (pci_claim_resource(dev, i)) > continue; > > if (i < PCI_BRIDGE_RESOURCES) { >