[alsa-devel] [PATCH] Fix a compile warning under gcc-4.2.3.
Takashi Iwai
tiwai at suse.de
Thu Feb 21 12:19:14 CET 2008
At Thu, 21 Feb 2008 09:48:30 +0100,
Clemens Ladisch wrote:
>
> Joshua Roys wrote:
> > sound/core/init.c: In function ‘snd_card_disconnect’:
> > sound/core/init.c:307: warning: the address of ‘snd_shutdown_f_ops’ will always evaluate as ‘true’
> >
> > Signed-off-by: Joshua Roys <roysjosh at gmail.com>
> > ---
> > sound/core/init.c | 1 -
> > 1 files changed, 0 insertions(+), 1 deletions(-)
> >
> > diff --git a/sound/core/init.c b/sound/core/init.c
> > index 2cb7099..1afc58b 100644
> > --- a/sound/core/init.c
> > +++ b/sound/core/init.c
> > @@ -304,7 +304,6 @@ int snd_card_disconnect(struct snd_card *card)
> > list_add(&mfile->shutdown_list, &shutdown_files);
> > spin_unlock(&shutdown_lock);
> >
> > - fops_get(&snd_shutdown_f_ops);
> > mfile->file->f_op = &snd_shutdown_f_ops;
> >
> > mfile = mfile->next;
>
> This change may get rid of the warning, but is has the slight
> disadvantage that the kernel will blow up if you try to unload the sound
> modules before all device files have been closed.
>
> If you want to get rid of this warning, tell the compiler that fops_get
> knows what it does; or try making fops_get an inline function instead of
> a macro.
This was already fixed in a different way on 2.6.25-rc.
commit bc9abce0de0b180817bc7e9f73145ef0b6a464ef
Author: Miguel Boton <mboton at gmail.com>
Date: Sun Jan 13 12:03:53 2008 +0100
[ALSA] fix compilation warning in GCC
'snd_shutdown_f_ops' is not a pointer so its address will never be NULL.
GCC will complain because 'fops_get' will do an unnecessary check because
'&snd_shutdown_f_ops' is always true.
Takashi
More information about the Alsa-devel
mailing list