  <?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.alsa-project.org/main/index.php?action=history&amp;feed=atom&amp;title=Detailed_changes_v1.2.15_v1.2.15.1</id>
	<title>Detailed changes v1.2.15 v1.2.15.1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.alsa-project.org/main/index.php?action=history&amp;feed=atom&amp;title=Detailed_changes_v1.2.15_v1.2.15.1"/>
	<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.2.15_v1.2.15.1&amp;action=history"/>
	<updated>2026-04-13T16:13:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.2.15_v1.2.15.1&amp;diff=14726&amp;oldid=prev</id>
		<title>Perex: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.2.15_v1.2.15.1&amp;diff=14726&amp;oldid=prev"/>
		<updated>2025-12-19T12:08:57Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:08, 19 December 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Perex</name></author>
	</entry>
	<entry>
		<id>https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.2.15_v1.2.15.1&amp;diff=14725&amp;oldid=prev</id>
		<title>alsa&gt;Perex at 12:08, 19 December 2025</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.2.15_v1.2.15.1&amp;diff=14725&amp;oldid=prev"/>
		<updated>2025-12-19T12:08:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
=Detailed changelog between 1.2.15 and 1.2.15.1 releases=&lt;br /&gt;
=Changelog between 1.2.15 and 1.2.15.1 releases=&lt;br /&gt;
==alsa-lib==&lt;br /&gt;
===Core===&lt;br /&gt;
- Release v1.2.15.1&lt;br /&gt;
- ucm: use closefrom instead of close_range&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 closefrom is a library function with a fallback mechanism for when the&lt;br /&gt;
 kernel does not support the close_range syscall.&lt;br /&gt;
 &lt;br /&gt;
 Also check for the function properly instead of assuming it is available&lt;br /&gt;
 with _GNU_SOURCE defined.&lt;br /&gt;
 &lt;br /&gt;
 Closes: https://github.com/alsa-project/alsa-lib/pull/486&amp;lt;/code&amp;gt;&lt;br /&gt;
===Use Case Manager API===&lt;br /&gt;
- ucm: exec - fix maxfd used warning&lt;br /&gt;
- ucm: use closefrom instead of close_range&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 closefrom is a library function with a fallback mechanism for when the&lt;br /&gt;
 kernel does not support the close_range syscall.&lt;br /&gt;
 &lt;br /&gt;
 Also check for the function properly instead of assuming it is available&lt;br /&gt;
 with _GNU_SOURCE defined.&lt;br /&gt;
 &lt;br /&gt;
 Closes: https://github.com/alsa-project/alsa-lib/pull/486&amp;lt;/code&amp;gt;&lt;br /&gt;
===Configuration===&lt;br /&gt;
- conf: cards: unify whitespace - use tabs and remove trailing spaces&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Convert leading spaces to tabs for consistent indentation,&lt;br /&gt;
 remove trailing whitespace from all lines, and normalize&lt;br /&gt;
 file endings across all card configuration files.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: pistachio-card: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple pistachio-card soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: YMF744: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple YMF744 soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: VX222,VXPocket: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple VX soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: VIA686A,VIA82xx: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple VIA soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: TRID4DWAVENX: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple TRID4DWAVENX soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: SI7018: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple SI7018 soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: SB-XFi: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple SB-XFi soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: RME96[35][26]: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple RME96[35][26] soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: PS3: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple PS3 soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: PMac,PMacToonie: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple PMac soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: PC-Speaker: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple PC-Speaker soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: NFORCE: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple NFORCE soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: Maestro3: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple Maestro3 soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: Loopback: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple Loopback soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: ICH,ICH4,ICH-MODEM: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple ICH soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: ICE17[12][24]: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple ICE17[12][24] soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: HdmiLpeAudio: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple HdmiLpeAudio soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: GUS: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple GUS soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: FWSpeakers: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple FWSpeakers soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: FM801: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple FM801 soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: FireWave: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple FireWave soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: ES1968: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple ES1968 soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: ENS137[01]: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple ENS137[01] soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: EMU10K1X: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple EMU10K1X soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: EMU10K1: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple EMU10K1 soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: Aureon51: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple Aureon51 soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: Echo3G: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple Echo3G soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: CS46xx: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple CS46xx soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: CMI8xxx: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple CMI8xxx soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: CA0106: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple CA0106 soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: AU88[123]0: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple AU88[123]0 soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: Aureon: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple Aureon soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: Audigy: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple Audigy soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: AACI,ATIIXP: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple AACI,ATIIXP soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: vc4-hdmi: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple vc4-hdmi soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&lt;br /&gt;
 &lt;br /&gt;
 BugLink: https://github.com/alsa-project/alsa-lib/issues/488&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: HDA-Intel: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple HDA-Intel soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: USB-Audio: define pcm configuration block only one time&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 There may be multiple USB soundcards in the system. Overwrite&lt;br /&gt;
 the PCM configurations when loaded multiple times.&amp;lt;/code&amp;gt;&lt;br /&gt;
- Revert &amp;quot;conf: fix load_for_all_cards() - do not merge the card specific contents&amp;quot;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 This reverts commit eda76146c5653ff1d5bc4b4c53f7a2d5ccc17da2.&lt;br /&gt;
 &lt;br /&gt;
 Also, revert additional related commits:&lt;br /&gt;
 &lt;br /&gt;
   Revert &amp;quot;conf: fix possible memory leak in config_file_open() - error path&amp;quot;&lt;br /&gt;
   This reverts commit 2f59398c83b8065fb9ff58939df3a9187746068e.&lt;br /&gt;
 &lt;br /&gt;
   Revert &amp;quot;conf: merge card specific contents per file (whole) after parsing&amp;quot;&lt;br /&gt;
   This reverts commit a6238053c4fa518b214f99d91a01b96c5ef6e3ca.&amp;lt;/code&amp;gt;&lt;br /&gt;
- conf: fix possible memory leak in config_file_open() - error path&lt;br /&gt;
- conf: merge card specific contents per file (whole) after parsing&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Unfortunately, mentioned fix caused a regression for items stored in one file.&lt;br /&gt;
 Merge the file contents after parsing not inside parsing process.&lt;br /&gt;
 &lt;br /&gt;
 BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2420645&amp;lt;/code&amp;gt;&lt;br /&gt;
==alsa-utils==&lt;br /&gt;
===Core===&lt;br /&gt;
- Release v1.2.15.1&lt;br /&gt;
===ALSA Control (alsactl)===&lt;br /&gt;
- alsactl: fix build when in subdirectory&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 create the conf directory as part of the edit recipe&lt;br /&gt;
 &lt;br /&gt;
 Closes: https://github.com/alsa-project/alsa-utils/pull/311&amp;lt;/code&amp;gt;&lt;br /&gt;
===aplay/arecord===&lt;br /&gt;
- aplay: add missing break before the default case&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Add the break before the default case back. Otherwise, all cases will&lt;br /&gt;
 fall into the default/error case.&lt;br /&gt;
 &lt;br /&gt;
 Closes: https://github.com/alsa-project/alsa-utils/pull/315&amp;lt;/code&amp;gt;&lt;br /&gt;
==alsa-ucm-conf==&lt;br /&gt;
===Configuration===&lt;br /&gt;
- ucm2: codecs: rt722: add condition to SetLED for mic&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Some SKUs don't have the internal mic, so the patch adds the condition to check&lt;br /&gt;
 whether the SKU has the internal mic or not.&lt;br /&gt;
 &lt;br /&gt;
 Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/657&amp;lt;/code&amp;gt;&lt;br /&gt;
- ucm2: sof-soundwire: Simplify cs42l45 configs&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Simplify cs42l45 configs following machine driver changes [1]&lt;br /&gt;
 which bring normal switches instead of mute switches.&lt;br /&gt;
 &lt;br /&gt;
 [1] https://lore.kernel.org/all/20251127163426.2500633-2-ckeepax@opensource.cirrus.com/&lt;br /&gt;
 &lt;br /&gt;
 Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/655&amp;lt;/code&amp;gt;&lt;br /&gt;
- sof-soundwire: third fix for multi-codec&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 Ensure MultiCodec-based actions are only done when MultiCodec1 is not empty&lt;br /&gt;
 &lt;br /&gt;
 Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/658&amp;lt;/code&amp;gt;&lt;br /&gt;
===Description===&lt;br /&gt;
- Release v1.2.15.1&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>alsa&gt;Perex</name></author>
	</entry>
</feed>