On Fri, Jun 14, 2019 at 11:51:10AM +0200, Greg Kroah-Hartman wrote: > As stated before, there is no need to care if a debugfs function > succeeds or not, and no code logic in the kernel should ever change > based on a debugfs function return value, so make > drm_debugfs_create_files() never fail. If it encounters an > odd/rare/impossible error (i.e. out of memory, or a duplicate debugfs > filename to be created), just keep on moving as if nothing improper had > happened. > > Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxx> > Cc: Sean Paul <sean@xxxxxxxxxx> > Cc: David Airlie <airlied@xxxxxxxx> > Cc: Daniel Vetter <daniel@xxxxxxxx> > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Applied this one to drm-misc-next, thanks. -Daniel > --- > drivers/gpu/drm/drm_debugfs.c | 26 ++++++-------------------- > 1 file changed, 6 insertions(+), 20 deletions(-) > > diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c > index 515569002c86..009e1c0ac7b4 100644 > --- a/drivers/gpu/drm/drm_debugfs.c > +++ b/drivers/gpu/drm/drm_debugfs.c > @@ -173,9 +173,8 @@ int drm_debugfs_create_files(const struct drm_info_list *files, int count, > struct dentry *root, struct drm_minor *minor) > { > struct drm_device *dev = minor->dev; > - struct dentry *ent; > struct drm_info_node *tmp; > - int i, ret; > + int i; > > for (i = 0; i < count; i++) { > u32 features = files[i].driver_features; > @@ -185,22 +184,13 @@ int drm_debugfs_create_files(const struct drm_info_list *files, int count, > continue; > > tmp = kmalloc(sizeof(struct drm_info_node), GFP_KERNEL); > - if (tmp == NULL) { > - ret = -1; > - goto fail; > - } > - ent = debugfs_create_file(files[i].name, S_IFREG | S_IRUGO, > - root, tmp, &drm_debugfs_fops); > - if (!ent) { > - DRM_ERROR("Cannot create /sys/kernel/debug/dri/%pd/%s\n", > - root, files[i].name); > - kfree(tmp); > - ret = -1; > - goto fail; > - } > + if (tmp == NULL) > + continue; > > tmp->minor = minor; > - tmp->dent = ent; > + tmp->dent = debugfs_create_file(files[i].name, > + S_IFREG | S_IRUGO, root, tmp, > + &drm_debugfs_fops); > tmp->info_ent = &files[i]; > > mutex_lock(&minor->debugfs_lock); > @@ -208,10 +198,6 @@ int drm_debugfs_create_files(const struct drm_info_list *files, int count, > mutex_unlock(&minor->debugfs_lock); > } > return 0; > - > -fail: > - drm_debugfs_remove_files(files, count, minor); > - return ret; > } > EXPORT_SYMBOL(drm_debugfs_create_files); > > -- > 2.22.0 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel