[alsa-devel] [PATCH] Prefer kernel-versioned firmware directory.

Takashi Iwai tiwai at suse.de
Fri Aug 19 07:29:17 CEST 2011

At Fri, 19 Aug 2011 09:57:05 +1200,
Eliot Blennerhassett wrote:
> On 18/08/11 22:12, Takashi Iwai wrote:
> >> From: Eliot Blennerhassett <eblennerhassett at audioscience.com>
> >>
> >> Different kernel versions may have different driver versions installed,
> >> which in turn require different firmware versions.
> >>
> >> If /lib/firmware/$(uname -r) exists, use it in preference to the
> >> generic /lib/firmware.
> > 
> > It's no good idea.  The installation of the firmware has nothing to
> > do with the running kernel version.  
> But running version of the kernel module may depend on a particular
> firmware version.

Yes, but the files there are installed directly from the kernel tree
($LINUX/firmware/*), not from linux-firmware, alsa-firmware or other
external firmware trees.  The latter is supposed to be generic to any
version, thus installed in /lib/firmware.

> > The firmware in kernel-tree may
> > be installed in the kernel-version specific directory, but it's
> > basically not for external firmware.
> External modules are not renamed, they are put in a kernel-versioned
> directory,

This is a wrong assumption.

> so why not the firmware that they need?
> On this ubuntu installation, there is all sorts of firmware in
> /lib/firmware/$(uname -r) and in /lib/firmare
> Some files are duplicated in these locations, some aren't.

It's because the firmware is included in both trees, kernel and

> The former is searched before the latter when firmware is requested.

Yes, that's the exact reason -- if a conflict happens with the
kernel-tree's and external firmware files, prefer the kernel-tree's.

> Now, if the system has installed firmware in a versioned directory, and
> the someone 'updates' from alsa-firmware, they won't get the expected
> result because the old firmware will be used in preference to the new.

In your case, there is no firmware files in the kernel tree, thus
there is no such conflict.



> > 
> > In principle, if a firmware is 
> not?
> > compatible, you must rename it, e.g.
> > with a version suffix, etc.  Or, if a firmware is backward compatible,
> > we may keep using the same name.
> --
> Eliot
> -- 
> Eliot Blennerhassett
> AudioScience Inc.

More information about the Alsa-devel mailing list