Hi Igor,
[For context, there was a regression report in Debian at https://bugs.debian.org/1108069]
On Thu, Jun 19, 2025 at 09:36:13PM -0500, Igor Tamara wrote:
Package: src:linux Version: 6.12.32-1 Severity: normal Tags: a11y
Dear Maintainer,
The builtin microphone on my Asus X507UA does not record, is recognized and some time ago it worked on Bookworm with image-6.1.0-31, newer images are able to record when appending snd_hda_intel.model=1043:1271 to the boot as a workaround.
The images that work with the boot option appended are, but not without it are:
linux-image-6.15-amd64 linux-image-6.12.32-amd64 linux-image-6.1.0-37-amd64 linux-image-6.1.0-0.a.test-amd64-unsigned_6.1.129-1a~test_amd64.deb referenced by https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1100928 Also compiled from upstream 6.12.22 and 6.1.133 with the same result
The image linux-image-6.1.0-31-amd64 worked properly, the problem was introduced in 129 and the result of the bisect was
d26408df0e25f2bd2808d235232ab776e4dd08b9 is the first bad commit commit d26408df0e25f2bd2808d235232ab776e4dd08b9 Author: Kuan-Wei Chiu visitorckw@gmail.com Date: Wed Jan 29 00:54:15 2025 +0800
ALSA: hda: Fix headset detection failure due to unstable sort
commit 3b4309546b48fc167aa615a2d881a09c0a97971f upstream. The auto_parser assumed sort() was stable, but the kernel's sort() uses heapsort, which has never been stable. After commit 0e02ca29a563 ("lib/sort: optimize heapsort with double-pop variation"), the order of equal elements changed, causing the headset to fail to work. Fix the issue by recording the original order of elements before sorting and using it as a tiebreaker for equal elements in the comparison function. Fixes: b9030a005d58 ("ALSA: hda - Use standard sort function in hda_auto_parser.c") Reported-by: Austrum austrum.lab@gmail.com Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219158 Tested-by: Austrum austrum.lab@gmail.com Cc: stable@vger.kernel.org Signed-off-by: Kuan-Wei Chiu visitorckw@gmail.com Link: https://patch.msgid.link/20250128165415.643223-1-visitorckw@gmail.com Signed-off-by: Takashi Iwai tiwai@suse.de Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
sound/pci/hda/hda_auto_parser.c | 8 +++++++- sound/pci/hda/hda_auto_parser.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-)
I'm attaching the output of alsa-info_alsa-info.sh script
Please let me know if I can provide more information.
Might you be able to try please the attached patch to see if it fixes the issue?
Regards, Salvatore
Hi Salvatore,
El mié, 25 jun 2025 a las 13:47, Salvatore Bonaccorso (carnil@debian.org) escribió:
Hi Igor,
[For context, there was a regression report in Debian at https://bugs.debian.org/1108069]
On Thu, Jun 19, 2025 at 09:36:13PM -0500, Igor Tamara wrote:
Package: src:linux Version: 6.12.32-1 Severity: normal Tags: a11y
Dear Maintainer,
The builtin microphone on my Asus X507UA does not record, is recognized and some time ago it worked on Bookworm with image-6.1.0-31, newer images are able to record when appending snd_hda_intel.model=1043:1271 to the boot as a workaround.
The images that work with the boot option appended are, but not without it are:
linux-image-6.15-amd64 linux-image-6.12.32-amd64 linux-image-6.1.0-37-amd64 linux-image-6.1.0-0.a.test-amd64-unsigned_6.1.129-1a~test_amd64.deb referenced by https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1100928 Also compiled from upstream 6.12.22 and 6.1.133 with the same result
The image linux-image-6.1.0-31-amd64 worked properly, the problem was introduced in 129 and the result of the bisect was
d26408df0e25f2bd2808d235232ab776e4dd08b9 is the first bad commit commit d26408df0e25f2bd2808d235232ab776e4dd08b9 Author: Kuan-Wei Chiu visitorckw@gmail.com Date: Wed Jan 29 00:54:15 2025 +0800
ALSA: hda: Fix headset detection failure due to unstable sort commit 3b4309546b48fc167aa615a2d881a09c0a97971f upstream. The auto_parser assumed sort() was stable, but the kernel's sort() uses heapsort, which has never been stable. After commit 0e02ca29a563 ("lib/sort: optimize heapsort with double-pop variation"), the order of equal elements changed, causing the headset to fail to work. Fix the issue by recording the original order of elements before sorting and using it as a tiebreaker for equal elements in the comparison function. Fixes: b9030a005d58 ("ALSA: hda - Use standard sort function in hda_auto_parser.c") Reported-by: Austrum <austrum.lab@gmail.com> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219158 Tested-by: Austrum <austrum.lab@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com> Link: https://patch.msgid.link/20250128165415.643223-1-visitorckw@gmail.com Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/hda_auto_parser.c | 8 +++++++- sound/pci/hda/hda_auto_parser.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-)
I'm attaching the output of alsa-info_alsa-info.sh script
Please let me know if I can provide more information.
Might you be able to try please the attached patch to see if it fixes the issue?
I recompiled and the mic is recording without issues when running on 6.1.133 and 6.12.32
Thank you everyone for all your hard work.
Regards, Salvatore
Hi Igor,
On Wed, Jun 25, 2025 at 07:54:42PM -0500, Igor Támara wrote:
Hi Salvatore,
El mié, 25 jun 2025 a las 13:47, Salvatore Bonaccorso (carnil@debian.org) escribió:
Hi Igor,
[For context, there was a regression report in Debian at https://bugs.debian.org/1108069]
On Thu, Jun 19, 2025 at 09:36:13PM -0500, Igor Tamara wrote:
Package: src:linux Version: 6.12.32-1 Severity: normal Tags: a11y
Dear Maintainer,
The builtin microphone on my Asus X507UA does not record, is recognized and some time ago it worked on Bookworm with image-6.1.0-31, newer images are able to record when appending snd_hda_intel.model=1043:1271 to the boot as a workaround.
The images that work with the boot option appended are, but not without it are:
linux-image-6.15-amd64 linux-image-6.12.32-amd64 linux-image-6.1.0-37-amd64 linux-image-6.1.0-0.a.test-amd64-unsigned_6.1.129-1a~test_amd64.deb referenced by https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1100928 Also compiled from upstream 6.12.22 and 6.1.133 with the same result
The image linux-image-6.1.0-31-amd64 worked properly, the problem was introduced in 129 and the result of the bisect was
d26408df0e25f2bd2808d235232ab776e4dd08b9 is the first bad commit commit d26408df0e25f2bd2808d235232ab776e4dd08b9 Author: Kuan-Wei Chiu visitorckw@gmail.com Date: Wed Jan 29 00:54:15 2025 +0800
ALSA: hda: Fix headset detection failure due to unstable sort commit 3b4309546b48fc167aa615a2d881a09c0a97971f upstream. The auto_parser assumed sort() was stable, but the kernel's sort() uses heapsort, which has never been stable. After commit 0e02ca29a563 ("lib/sort: optimize heapsort with double-pop variation"), the order of equal elements changed, causing the headset to fail to work. Fix the issue by recording the original order of elements before sorting and using it as a tiebreaker for equal elements in the comparison function. Fixes: b9030a005d58 ("ALSA: hda - Use standard sort function in hda_auto_parser.c") Reported-by: Austrum <austrum.lab@gmail.com> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219158 Tested-by: Austrum <austrum.lab@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com> Link: https://patch.msgid.link/20250128165415.643223-1-visitorckw@gmail.com Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/hda_auto_parser.c | 8 +++++++- sound/pci/hda/hda_auto_parser.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-)
I'm attaching the output of alsa-info_alsa-info.sh script
Please let me know if I can provide more information.
Might you be able to try please the attached patch to see if it fixes the issue?
I recompiled and the mic is recording without issues when running on 6.1.133 and 6.12.32
Thanks for the confirmation! Takashi, can you apply the proposed change (slightly improved in attached variant to add Reported-by and Closes tags), hopefully getting it into required stable series?
Regards, Salvatore
On Thu, 26 Jun 2025 06:23:40 +0200, Salvatore Bonaccorso wrote:
Hi Igor,
On Wed, Jun 25, 2025 at 07:54:42PM -0500, Igor Támara wrote:
Hi Salvatore,
El mié, 25 jun 2025 a las 13:47, Salvatore Bonaccorso (carnil@debian.org) escribió:
Hi Igor,
[For context, there was a regression report in Debian at https://bugs.debian.org/1108069]
On Thu, Jun 19, 2025 at 09:36:13PM -0500, Igor Tamara wrote:
Package: src:linux Version: 6.12.32-1 Severity: normal Tags: a11y
Dear Maintainer,
The builtin microphone on my Asus X507UA does not record, is recognized and some time ago it worked on Bookworm with image-6.1.0-31, newer images are able to record when appending snd_hda_intel.model=1043:1271 to the boot as a workaround.
The images that work with the boot option appended are, but not without it are:
linux-image-6.15-amd64 linux-image-6.12.32-amd64 linux-image-6.1.0-37-amd64 linux-image-6.1.0-0.a.test-amd64-unsigned_6.1.129-1a~test_amd64.deb referenced by https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1100928 Also compiled from upstream 6.12.22 and 6.1.133 with the same result
The image linux-image-6.1.0-31-amd64 worked properly, the problem was introduced in 129 and the result of the bisect was
d26408df0e25f2bd2808d235232ab776e4dd08b9 is the first bad commit commit d26408df0e25f2bd2808d235232ab776e4dd08b9 Author: Kuan-Wei Chiu visitorckw@gmail.com Date: Wed Jan 29 00:54:15 2025 +0800
ALSA: hda: Fix headset detection failure due to unstable sort commit 3b4309546b48fc167aa615a2d881a09c0a97971f upstream. The auto_parser assumed sort() was stable, but the kernel's sort() uses heapsort, which has never been stable. After commit 0e02ca29a563 ("lib/sort: optimize heapsort with double-pop variation"), the order of equal elements changed, causing the headset to fail to work. Fix the issue by recording the original order of elements before sorting and using it as a tiebreaker for equal elements in the comparison function. Fixes: b9030a005d58 ("ALSA: hda - Use standard sort function in hda_auto_parser.c") Reported-by: Austrum <austrum.lab@gmail.com> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219158 Tested-by: Austrum <austrum.lab@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com> Link: https://patch.msgid.link/20250128165415.643223-1-visitorckw@gmail.com Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/hda_auto_parser.c | 8 +++++++- sound/pci/hda/hda_auto_parser.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-)
I'm attaching the output of alsa-info_alsa-info.sh script
Please let me know if I can provide more information.
Might you be able to try please the attached patch to see if it fixes the issue?
I recompiled and the mic is recording without issues when running on 6.1.133 and 6.12.32
Thanks for the confirmation! Takashi, can you apply the proposed change (slightly improved in attached variant to add Reported-by and Closes tags), hopefully getting it into required stable series?
Thanks, applied now.
Takashi
linux-stable-mirror@lists.linaro.org