On Mon, Jan 25, 2021 at 02:28:26AM +0300, Dmitry Baryshkov wrote: > In the pci_scan_device() if pci_setup_device() fails for any reason, the > code will not release device's of_node by calling pci_release_of_node(). > Fix that by calling the release function. > > Fixes: 98d9f30c820d ("pci/of: Match PCI devices to OF nodes dynamically") > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> Applied with Leon's reviewed-by to pci/enumeration for v5.13, thanks! > --- > > Changes since v1: > - Changed the order of Fixes and S-o-B tags. > > --- > drivers/pci/probe.c | 1 + > 1 file changed, 1 insertion(+) > > > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > index 953f15abc850..be51670572fa 100644 > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -2353,6 +2353,7 @@ static struct pci_dev *pci_scan_device(struct pci_bus *bus, int devfn) > pci_set_of_node(dev); > > if (pci_setup_device(dev)) { > + pci_release_of_node(dev); > pci_bus_put(dev->bus); > kfree(dev); > return NULL; > -- > 2.29.2 >