Messages in this thread | | | Date | Fri, 17 Oct 2008 17:21:21 +0200 | From | Takashi Iwai <> | Subject | Re: [alsa-devel] [PATCH] Fix debugfs_create_dir's error checking method for sound/soc/ |
| |
At Fri, 17 Oct 2008 14:23:42 +0100, Mark Brown wrote: > > On Fri, Oct 17, 2008 at 09:04:55PM +0800, Zhaolei wrote: > > > debugfs_create_dir() returns NULL if an error occurs, returns -ENODEV > > when debugfs is not enabled in the kernel. > > ... > > > asoc_debugfs = debugfs_create_dir("asoc", NULL); > > - if (!IS_ERR(asoc_debugfs)) > > + if (!IS_ERR(asoc_debugfs) && asoc_debugfs) > > debugfs_create_u32("dapm_pop_time", 0744, asoc_debugfs, > > &pop_time); > > Hrmpf. This looks like something that should be fixed in debugfs - > using both error reporting strategies is rather unhelpful and we're > actually loosing information in the case where debugfs is built. I'll > send a patch and see what people thing.
This looks like a design. In linux/debugfs.h:
/* * We do not return NULL from these functions if CONFIG_DEBUG_FS is not enabled * so users have a chance to detect if there was a real error or not. We don't * want to duplicate the design decision mistakes of procfs and devfs again. */
Though, I agree that the detailed error information is lost by returning NULL...
Takashi
| |