[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