[PATCH] PCI: mt7621: Use dev_err_probe()

Dan Carpenter error27 at gmail.com
Sun Apr 2 21:50:45 PDT 2023


On Thu, Mar 23, 2023 at 07:23:26AM +0100, Sergio Paracuellos wrote:
> Hi,
> 
> On Thu, Mar 23, 2023 at 4:45 AM <ye.xingchen at zte.com.cn> wrote:
> >
> > From: Ye Xingchen <ye.xingchen at zte.com.cn>
> >
> > Replace the open-code with dev_err_probe() to simplify the code.
> >
> > Signed-off-by: Ye Xingchen <ye.xingchen at zte.com.cn>
> > ---
> >  drivers/pci/controller/pcie-mt7621.c | 7 +++----
> >  1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/pci/controller/pcie-mt7621.c b/drivers/pci/controller/pcie-mt7621.c
> > index 63a5f4463a9f..964de0e8c6a0 100644
> > --- a/drivers/pci/controller/pcie-mt7621.c
> > +++ b/drivers/pci/controller/pcie-mt7621.c
> > @@ -220,10 +220,9 @@ static int mt7621_pcie_parse_port(struct mt7621_pcie *pcie,
> >         }
> >
> >         port->pcie_rst = of_reset_control_get_exclusive(node, NULL);
> > -       if (PTR_ERR(port->pcie_rst) == -EPROBE_DEFER) {

So the theory here is that -EPROBE_DEFER is recoverable but other errors
are not so we just ignore them?  Error pointers will trigger a WARN() in
mt7621_control_assert/deassert().


> > --
> > 2.25.1
> 
> Also, this is not a probe(), so I don't see a point of using
> dev_err_probe() here.

It's a weird thing to return -EPROBE_DEFER from something which is not
a probe function...  Someone told me I should write a Smatch check for
it but I never got around to doing that.

In this case, I guess the user is supposed to see the error message and
manually fix the probe order?  The dev_err_probe() will change the error
message into a debug message so the user will not see it and will not be
able to fix it.  So using dev_err_probe() will break things for the
user.

regards,
dan carpenter




More information about the Linux-mediatek mailing list