On Tue, 28 Jan 2025 17:54:15 +0100, Kuan-Wei Chiu wrote: > > 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@xxxxxxxxx> > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219158 > Tested-by: Austrum <austrum.lab@xxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Kuan-Wei Chiu <visitorckw@xxxxxxxxx> Applied now. Thanks. Takashi