Hi, [email protected] writes: > diff --git a/drivers/usb/dwc3/debug.h b/drivers/usb/dwc3/debug.h > index 07fbc2d..71e3180 100644 > --- a/drivers/usb/dwc3/debug.h > +++ b/drivers/usb/dwc3/debug.h > @@ -217,11 +217,11 @@ static inline const char > *dwc3_gadget_event_type_string(u8 event) > void dwc3_trace(void (*trace)(struct va_format *), const char *fmt, ...); > > #ifdef CONFIG_DEBUG_FS > -extern int dwc3_debugfs_init(struct dwc3 *); > +extern void dwc3_debugfs_init(struct dwc3 *); > extern void dwc3_debugfs_exit(struct dwc3 *); > #else > -static inline int dwc3_debugfs_init(struct dwc3 *d) > -{ return 0; } > +static inline void dwc3_debugfs_init(struct dwc3 *d) > +{ } > static inline void dwc3_debugfs_exit(struct dwc3 *d) > { } > #endif > diff --git a/drivers/usb/dwc3/debugfs.c b/drivers/usb/dwc3/debugfs.c > index 9ac37fe..071b286 100644 > --- a/drivers/usb/dwc3/debugfs.c > +++ b/drivers/usb/dwc3/debugfs.c > @@ -618,69 +618,39 @@ static const struct file_operations > dwc3_link_state_fops = { > .release = single_release, > }; > > -int dwc3_debugfs_init(struct dwc3 *dwc) > +void dwc3_debugfs_init(struct dwc3 *dwc) > { > struct dentry *root; > - struct dentry *file; > - int ret; > > root = debugfs_create_dir(dev_name(dwc->dev), NULL); > - if (!root) { > - ret = -ENOMEM; > - goto err0; > - } > + if (IS_ERR_OR_NULL(root)) > + return;
We can definitely keep on going, but I'd still like to know that we
enabled CONFIG_DEBUG_FS but failed to create a file or a
directory. Seems like this should read as follows:
if (IS_ERR_OR_NULL(root)) {
if (!root)
dev_err(dwc->dev, "Can't create debugfs root\n");
return;
}
ditto to all bellow.
> dwc->root = root;
>
> dwc->regset = kzalloc(sizeof(*dwc->regset), GFP_KERNEL);
> if (!dwc->regset) {
> - ret = -ENOMEM;
> - goto err1;
> + debugfs_remove_recursive(root);
you're now duplicating debugfs_remove_recursive(root) in all braches and
that's error prone. It's probably better to keep our gotos, but change
them so they read as follows:
if (!dwc->regset)
goto err1;
[...]
return; /* this is our successful exit point */
err1:
debugfs_remove_recursive(root);
kfree(dwc->regset);
--
balbi
signature.asc
Description: PGP signature

