alsa-utils/0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch
Takashi Iwai c349a7f6d8 Accepting request 1137523 from home:tiwai:branches:multimedia:libs
- Backport upstream fixes:
  buffer overflow fixes in aplay, segfault in aplaymidi, etc:
  0008-topology-include-locale.h.patch 
  0009-nhlt-dmic-info.c-include-sys-types.h.patch 
  0010-topology-pre-processor-Add-support-for-enum-controls.patch 
  0011-configure.ac-fix-UMP-support-detection.patch 
  0012-bat-really-skip-analysis-of-the-first-period-and-upd.patch 
  0013-topology-add-include-for-ENABLE_NLS-on-musl.patch 
  0014-nhlt-use-stdint.h-types.patch 
  0015-Revert-nhlt-dmic-info.c-include-sys-types.h.patch 
  0016-aplay-use-stdint.h-types-instead-u_int-u_short-u_cha.patch 
  0017-alsa-restore.rules-use-devnode-instead-number-atribu.patch 
  0018-nhlt-Revert-SSP_ANALOG-device_type-field.patch 
  0019-alsactl-fix-potential-buffer-overwrite.patch 
  0020-aplay-fix-buffer-overflow-and-tainted-format-string.patch 
  0021-misc-fix-incorrect-usages-of-strerror.patch 
  0022-aplay-Add-option-for-specifying-subformat.patch 
  0023-aplay-allow-to-compile-with-older-alsa-lib-subformat.patch 
  0024-aplay-log-pcm-status-before-reporting-a-fatal-error.patch 
  0025-aplay-enable-timestamps-by-default.patch 
  0026-aplay-status-dumps-are-called-only-in-verbose-mode.patch 
  0027-aplaymidi-Set-event-completely-for-tempo-event.patch

OBS-URL: https://build.opensuse.org/request/show/1137523
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=210
2024-01-08 12:04:12 +00:00

44 lines
2.0 KiB
Diff

From 8f3d84ba19a45411f08bae13ee4dcd8329aa9438 Mon Sep 17 00:00:00 2001
From: Andy Ross <andyross@google.com>
Date: Thu, 7 Dec 2023 09:17:57 -0800
Subject: [PATCH] nhlt: Revert SSP_ANALOG device_type field
This partially reverts commit 3a47ef2487ed ("topology: nhlt: intel:
support more device types and directions"), which changed the default
device_type in the endpoint descriptor from zero to SSP_ANALOG.
This change breaks the Linux kernel NHLT parser (which AFAICT doesn't
recognize SSP_ANALOG at all), producing errors like:
[56458.583812] sof-audio-pci-intel-mtl 0000:00:1f.3: no matching blob for sample rate: 48000 sample width: 32 channels: 2
[56458.583833] sof-audio-pci-intel-mtl 0000:00:1f.3: failed to prepare widget dai-copier.SSP.SSP0-Codec.playback
[56458.583840] sof-audio-pci-intel-mtl 0000:00:1f.3: Failed to prepare connected widgets
[56458.583847] sof-audio-pci-intel-mtl 0000:00:1f.3: error: failed widget list set up for pcm 1 dir 0
[56458.583853] sof-audio-pci-intel-mtl 0000:00:1f.3: ASoC: error at snd_soc_pcm_component_hw_params on 0000:00:1f.3: -22
Revert for compatibility.
Fixes: https://github.com/alsa-project/alsa-utils/pull/248
Signed-off-by: Andy Ross <andyross@google.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
topology/nhlt/intel/ssp/ssp-process.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/topology/nhlt/intel/ssp/ssp-process.c b/topology/nhlt/intel/ssp/ssp-process.c
index 17b88d2b712b..d8fbba43f4c7 100644
--- a/topology/nhlt/intel/ssp/ssp-process.c
+++ b/topology/nhlt/intel/ssp/ssp-process.c
@@ -783,7 +783,7 @@ int ssp_get_params(struct intel_nhlt_params *nhlt, int dai_index, uint32_t *virt
if (ssp->ssp_prm[dai_index].quirks & SSP_INTEL_QUIRK_BT_SIDEBAND)
*device_type = NHLT_DEVICE_TYPE_SSP_BT_SIDEBAND;
else
- *device_type = NHLT_DEVICE_TYPE_SSP_ANALOG;
+ *device_type = 0;
if (ssp->ssp_prm[dai_index].quirks & SSP_INTEL_QUIRK_RENDER_FEEDBACK) {
if (*direction == NHLT_ENDPOINT_DIRECTION_RENDER)
*direction = NHLT_ENDPOINT_DIRECTION_RENDER_WITH_LOOPBACK;
--
2.35.3