Re: [PATCH] Fix debugfs_create_file's error checking method forusb/gadget/

From: Greg KH
Date: Sun Oct 19 2008 - 23:49:15 EST


On Mon, Oct 20, 2008 at 09:15:16AM +0800, Zhaolei wrote:
> From: "Alan Stern" <stern@xxxxxxxxxxxxxxxxxxx>
> To: "Zhaolei" <zhaolei@xxxxxxxxxxxxxx>
> Cc: <linux-kernel@xxxxxxxxxxxxxxx>; <dbrownell@xxxxxxxxxxxxxxxxxxxxx>; <linux-usb@xxxxxxxxxxxxxxx>
> Sent: Friday, October 17, 2008 11:18 PM
> Subject: Re: [PATCH] Fix debugfs_create_file's error checking method for usb/gadget/
>
>
> > On Fri, 17 Oct 2008, Zhaolei wrote:
> >
> >> Hi,
> >>
> >> debugfs_create_file() returns NULL if an error occurs, returns -ENODEV
> >> when debugfs is not enabled in the kernel.
> >>
> >> Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
> >> ---
> >> drivers/usb/gadget/s3c2410_udc.c | 2 +-
> >> 1 files changed, 1 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/drivers/usb/gadget/s3c2410_udc.c b/drivers/usb/gadget/s3c2410_udc.c
> >> index 29d13eb..4ba50ef 100644
> >> --- a/drivers/usb/gadget/s3c2410_udc.c
> >> +++ b/drivers/usb/gadget/s3c2410_udc.c
> >> @@ -1894,7 +1894,7 @@ static int s3c2410_udc_probe(struct platform_device *pdev)
> >> udc->regs_info = debugfs_create_file("registers", S_IRUGO,
> >> s3c2410_udc_debugfs_root,
> >> udc, &s3c2410_udc_debugfs_fops);
> >> - if (IS_ERR(udc->regs_info)) {
> >> + if (IS_ERR(udc->regs_info) || !udc->regs_info) {
> >> dev_warn(dev, "debugfs file creation failed %ld\n",
> >> PTR_ERR(udc->regs_info));
> >> udc->regs_info = NULL;
> >
> > In fact the original code and your patch are both wrong. The test
> > should simply be:
> >
> > if (!udc->regs_info) {
> > dev_warn(dev, "debugfs file creation failed\n");
> >
> Hello, Alan Stern
>
> If we only check if (!udc->regs_info), that is no problem except that we
> can't see dev_warn when debugfs isn't enabled in the kernel.
> It this warning message is not necessary, I agree with you.

Why would you want to see that message if debugfs wasn't selected? You
shouldn't need to see it, that is why the debugfs code doesn't return
NULL if it is compiled out. I did it that way to make all callers much
simpler :)

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/