Re: 2.6.23-rc3-mm1: inlining failures in sound/pci/hda/hda_codec.c

From: Mariusz Kozlowski
Date: Wed Aug 22 2007 - 17:19:07 EST


> > This is from x86_32 with gcc 3.4.6:
> >
> > CC [M] sound/pci/hda/hda_codec.o
> > sound/pci/hda/hda_codec.c: In function `snd_hda_codec_free':
> > sound/pci/hda/hda_codec.c:517: sorry, unimplemented: inlining failed in call to 'free_hda_cache': function body not available
> > sound/pci/hda/hda_codec.c:534: sorry, unimplemented: called from here
> > sound/pci/hda/hda_codec.c:517: sorry, unimplemented: inlining failed in call to 'free_hda_cache': function body not available
> > sound/pci/hda/hda_codec.c:535: sorry, unimplemented: called from here
> > make[3]: *** [sound/pci/hda/hda_codec.o] Error 1
> > make[2]: *** [sound/pci/hda] Error 2
> > make[1]: *** [sound/pci] Error 2
> > make: *** [sound] Error 2
>
> Since it doesn't happen with gcc-4.x, this looks like a gcc-3.x
> specific problem. Does the patch below fix?

Yes - it does.

Thanks,

Mariusz

> diff -r db9001b20d29 pci/hda/hda_codec.c
> --- a/pci/hda/hda_codec.c Wed Aug 22 14:19:45 2007 +0200
> +++ b/pci/hda/hda_codec.c Wed Aug 22 23:06:00 2007 +0200
> @@ -514,7 +514,7 @@ static int read_widget_caps(struct hda_c
>
> static void init_hda_cache(struct hda_cache_rec *cache,
> unsigned int record_size);
> -static inline void free_hda_cache(struct hda_cache_rec *cache);
> +static void free_hda_cache(struct hda_cache_rec *cache);
>
> /*
> * codec destructor
> @@ -707,7 +707,7 @@ static void __devinit init_hda_cache(str
> cache->record_size = record_size;
> }
>
> -static inline void free_hda_cache(struct hda_cache_rec *cache)
> +static void free_hda_cache(struct hda_cache_rec *cache)
> {
> kfree(cache->buffer);
> }
> -
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/