Hi Lorenzo,

> -----Original Message-----
> From: Lorenzo Pieralisi [mailto:[email protected]]
> Sent: 2019年6月12日 22:35
> To: Z.q. Hou <[email protected]>
> Cc: [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; Leo Li
> <[email protected]>; [email protected]; [email protected];
> Mingkai Hu <[email protected]>; M.h. Lian <[email protected]>;
> Xiaowei Bao <[email protected]>
> Subject: Re: [PATCHv5 17/20] PCI: mobiveil: Complete initialization of host
> even if no PCIe link
> 
> On Fri, Apr 12, 2019 at 08:36:54AM +0000, Z.q. Hou wrote:
> > From: Hou Zhiqiang <[email protected]>
> >
> > Sometimes there is not a PCIe Endpoint stalled in the slot, so do not
> > exit when the PCIe link is not up. And degrade the print level of link
> > up info.
> 
> So what's the point of probing if the link does not initialize ?

A simple case is plug in a PCIe device after the Linux boot up, then rescan the 
device.
If exit when PCIe link is not up, the PCIe controller is not initialized 
completely, the
rescan cannot work.

Thanks,
Zhiqiang

> Lorenzo
> 
> > Signed-off-by: Hou Zhiqiang <[email protected]>
> > Reviewed-by: Minghuan Lian <[email protected]>
> > Reviewed-by: Subrahmanya Lingappa <[email protected]>
> > ---
> > V5:
> >  - Corrected and retouched the subject and changelog.
> >
> >  drivers/pci/controller/pcie-mobiveil.c | 6 ++----
> >  1 file changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/pci/controller/pcie-mobiveil.c
> > b/drivers/pci/controller/pcie-mobiveil.c
> > index 1ee3ea2570c0..8dc87c7a600e 100644
> > --- a/drivers/pci/controller/pcie-mobiveil.c
> > +++ b/drivers/pci/controller/pcie-mobiveil.c
> > @@ -560,7 +560,7 @@ static int mobiveil_bringup_link(struct
> mobiveil_pcie *pcie)
> >             usleep_range(LINK_WAIT_MIN, LINK_WAIT_MAX);
> >     }
> >
> > -   dev_err(&pcie->pdev->dev, "link never came up\n");
> > +   dev_info(&pcie->pdev->dev, "link never came up\n");
> >
> >     return -ETIMEDOUT;
> >  }
> > @@ -926,10 +926,8 @@ static int mobiveil_pcie_probe(struct
> platform_device *pdev)
> >     bridge->swizzle_irq = pci_common_swizzle;
> >
> >     ret = mobiveil_bringup_link(pcie);
> > -   if (ret) {
> > +   if (ret)
> >             dev_info(dev, "link bring-up failed\n");
> > -           goto error;
> > -   }
> >
> >     /* setup the kernel resources for the newly added PCIe root bus */
> >     ret = pci_scan_root_bus_bridge(bridge);
> > --
> > 2.17.1
> >

Reply via email to