[alsa-devel] [PATCH] Fix debugfs_create_dir's error checking method for sound/soc/

Takashi Iwai tiwai at suse.de
Fri Oct 17 17:21:21 CEST 2008


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


More information about the Alsa-devel mailing list