On Tue, Jul 11, 2017 at 06:15:08PM +0800, Shawn Lin wrote: > It's wrong to check the return value of pci_scan_root_bus_bridge > here by using (!err) as 0 means it successfully scans the root > bridge. So the probe process will be terminated mistakenly. > > Fixes: ae13cb9b ("PCI: rockchip: Convert PCI scan API to ...") > Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> > Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx> Applied with Lorenzo's ack to for-linus for v4.13, thanks! > --- > > drivers/pci/host/pcie-rockchip.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pci/host/pcie-rockchip.c b/drivers/pci/host/pcie-rockchip.c > index 5acf869..7bb9870 100644 > --- a/drivers/pci/host/pcie-rockchip.c > +++ b/drivers/pci/host/pcie-rockchip.c > @@ -1483,7 +1483,7 @@ static int rockchip_pcie_probe(struct platform_device *pdev) > bridge->swizzle_irq = pci_common_swizzle; > > err = pci_scan_root_bus_bridge(bridge); > - if (!err) > + if (err < 0) > goto err_free_res; > > bus = bridge->bus; > -- > 1.9.1 > >