Re: [PATCH] PCI: aardvark: Indicate error in 'val' when config read fails

From: Lorenzo Pieralisi
Date: Tue Jul 07 2020 - 09:53:18 EST


On Fri, Jun 19, 2020 at 12:56:18PM +0200, Pali Rohár wrote:
> Hello Lorenzo! Could you please review this patch?
>
> On Monday 01 June 2020 15:03:15 Pali Rohár wrote:
> > Most callers of config read do not check for return value. But most of the
> > ones that do, checks for error indication in 'val' variable.
> >
> > This patch updates error handling in advk_pcie_rd_conf() function. If PIO
> > transfer fails then 'val' variable is set to 0xffffffff which indicates
> > failture.
> >
> > Signed-off-by: Pali Rohár <pali@xxxxxxxxxx>
>
> I should add credit for Bjorn as he found this issue

Could you provide a lore archive link to the relevant
discussion please ? I will apply it then.

Lorenzo

> Reported-by: Bjorn Helgaas <helgaas@xxxxxxxxxx>
>
> > ---
> > drivers/pci/controller/pci-aardvark.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
> > index 53a4cfd7d377..783a7f1f2c44 100644
> > --- a/drivers/pci/controller/pci-aardvark.c
> > +++ b/drivers/pci/controller/pci-aardvark.c
> > @@ -691,8 +691,10 @@ static int advk_pcie_rd_conf(struct pci_bus *bus, u32 devfn,
> > advk_writel(pcie, 1, PIO_START);
> >
> > ret = advk_pcie_wait_pio(pcie);
> > - if (ret < 0)
> > + if (ret < 0) {
> > + *val = 0xffffffff;
> > return PCIBIOS_SET_FAILED;
> > + }
> >
> > advk_pcie_check_pio_status(pcie);
> >
> > --
> > 2.20.1
> >