Re: [PATCH] usb: bdc: Remove duplicate error message in bdc_probe()

From: Greg KH
Date: Mon Sep 28 2020 - 07:22:56 EST


On Mon, Sep 28, 2020 at 06:55:26PM +0800, Tang Bin wrote:
> Hi Balbi:
>
> 在 2020/9/28 17:40, Felipe Balbi 写道:
> > Hi,
> >
> > Tang Bin <tangbin@xxxxxxxxxxxxxxxxxxxx> writes:
> > > Hi Greg KH:
> > >
> > > 在 2020/9/27 21:45, Greg KH 写道:
> > > > On Sun, Sep 27, 2020 at 09:42:18PM +0800, Tang Bin wrote:
> > > > > In this function, we don't need dev_err() message because
> > > > > when something goes wrong, devm_platform_ioremap_resource()
> > > > > can print an error message itself, so remove the redundant
> > > > > one.
> > > > >
> > > > > Signed-off-by: Zhang Shengju <zhangshengju@xxxxxxxxxxxxxxxxxxxx>
> > > > > Signed-off-by: Tang Bin <tangbin@xxxxxxxxxxxxxxxxxxxx>
> > > > > ---
> > > > > drivers/usb/gadget/udc/bdc/bdc_core.c | 4 +---
> > > > > 1 file changed, 1 insertion(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/drivers/usb/gadget/udc/bdc/bdc_core.c b/drivers/usb/gadget/udc/bdc/bdc_core.c
> > > > > index 02a3a7746..9454f179e 100644
> > > > > --- a/drivers/usb/gadget/udc/bdc/bdc_core.c
> > > > > +++ b/drivers/usb/gadget/udc/bdc/bdc_core.c
> > > > > @@ -508,10 +508,8 @@ static int bdc_probe(struct platform_device *pdev)
> > > > > bdc->clk = clk;
> > > > > bdc->regs = devm_platform_ioremap_resource(pdev, 0);
> > > > > - if (IS_ERR(bdc->regs)) {
> > > > > - dev_err(dev, "ioremap error\n");
> > > > > + if (IS_ERR(bdc->regs))
> > > > > return -ENOMEM;
> > > > Why not return the error given to us?
> > > Because when get ioremap failed, devm_platform_ioremap_resource() can
> > > print error message
> > >
> > > "dev_err(dev, "ioremap failed for resource %pR\n", res)" in it's called
> > > function. So I think this's place's
> > >
> > > dev_err(dev, "ioremap error\n") is redundant.
> > that's not what Greg point you at, though. Greg's concern is valid in
> > that instead of passing along the error within bdc->regs, you always
> > return -ENOMEM. OTW, your code should read like so:
> >
> > if (IS_ERR(bdc->regs))
> > return PTR_ERR(bdc->regs);
>
> Thanks for your explain,when I send the patch yesterday, my point is at
> dev_err(), and not aimed at IS_ERR() & PTR_ERR(),
>
> if it's Greg's point, I will change this patch after his reply.

Felipe is correct, and also, you should listen to him over me as he is
the maintainer of this part of the kernel :)

greg k-h