mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 09:32:17 +02:00
alsa-lib: upgrade 1.2.1.2 -> 1.2.2
0001-Fix-alsa-sound-.h-for-external-programs.patch 0001-configure.ac-remove-an-unnecessary-libtool-fix.patch 0001-uapi-Move-typedefs-from-uapi-to-sound.patch 0001-ucm-Use-strncmp-to-avoid-access-out-of-boundary.patch 0002-ucm-return-always-at-least-NULL-if-no-list-is-availa.patch 0003-namehint-correct-the-args-check.patch 0004-namehint-improve-the-previous-patch-check-the-return.patch 0005-ucm-Do-not-fail-to-parse-configs-on-cards-with-an-em.patch removed since they are included in 1.2.2 (From OE-Core rev: 597482a455e6f1ea260a029e3f1b882024994a77) Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
1dc0ed7116
commit
ad123dd3d3
File diff suppressed because it is too large
Load Diff
@@ -1,50 +0,0 @@
|
||||
From 01cd8cb6d594d7a12c67d21d689ebe0e347469c0 Mon Sep 17 00:00:00 2001
|
||||
From: Tanu Kaskinen <tanuk@iki.fi>
|
||||
Date: Fri, 20 Dec 2019 09:26:12 +0200
|
||||
Subject: [PATCH] configure.ac: remove an unnecessary libtool fix
|
||||
|
||||
This code was added in commit 75d393a563efb578c79364a277087c6326267f52
|
||||
without explaining why. I assume it was a mistake, since it looks like
|
||||
the libtool problem should have gone away a long time ago. The referenced
|
||||
wiki page https://wiki.debian.org/RpathIssue says:
|
||||
|
||||
Since libtool 1.5.2 (released 2004-01-25), on Linux libtool no
|
||||
longer sets RPATH for any directories in the dynamic linker search
|
||||
path, so this should no longer be an issue unless upstream used a
|
||||
really old version of libtool when creating their distribution
|
||||
tarball.
|
||||
|
||||
This code caused problems in OpenEmbedded, where the libtool script is
|
||||
named "x86_64-oe-linux-libtool" or similar rather than just "libtool",
|
||||
so the sed command failed with a file not found error. Rather than
|
||||
adapting the code to OpenEmbedded's peculiarities, it seems best to just
|
||||
remove the unnecessary code altogether.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/alsa-project/alsa-lib/pull/19]
|
||||
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
|
||||
---
|
||||
configure.ac | 11 -----------
|
||||
1 file changed, 11 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 119ef600..22a4a885 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -764,14 +764,3 @@ test "$build_seq" = "yes" && echo "#include <alsa/seq.h>" >> include/asoundlib.h
|
||||
test "$build_seq" = "yes" && echo "#include <alsa/seqmid.h>" >> include/asoundlib.h
|
||||
test "$build_seq" = "yes" && echo "#include <alsa/seq_midi_event.h>" >> include/asoundlib.h
|
||||
cat "$srcdir"/include/asoundlib-tail.h >> include/asoundlib.h
|
||||
-
|
||||
-dnl Taken from https://wiki.debian.org/RpathIssue
|
||||
-case $host in
|
||||
- *-*-linux-gnu)
|
||||
- AC_MSG_RESULT([Fixing libtool for -rpath problems.])
|
||||
- sed < libtool > libtool-2 \
|
||||
- 's/^hardcode_libdir_flag_spec.*$'/'hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
|
||||
- mv libtool-2 libtool
|
||||
- chmod 755 libtool
|
||||
- ;;
|
||||
-esac
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,137 +0,0 @@
|
||||
From 59792f467b38d6a4c4dffdb30528f7fb03d23d96 Mon Sep 17 00:00:00 2001
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
Date: Fri, 20 Dec 2019 17:12:37 +0100
|
||||
Subject: [PATCH] uapi: Move typedefs from uapi to sound/*
|
||||
|
||||
For keeping uapi/*.h cleaner.
|
||||
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
|
||||
---
|
||||
include/sound/emu10k1.h | 9 +++++++++
|
||||
include/sound/hdsp.h | 10 ++++++++++
|
||||
include/sound/hdspm.h | 8 ++++++++
|
||||
include/sound/sb16_csp.h | 4 ++++
|
||||
include/sound/uapi/emu10k1.h | 10 ----------
|
||||
include/sound/uapi/hdsp.h | 9 ---------
|
||||
include/sound/uapi/hdspm.h | 8 --------
|
||||
7 files changed, 31 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h
|
||||
index f06ecee5..0832f95b 100644
|
||||
--- a/include/sound/emu10k1.h
|
||||
+++ b/include/sound/emu10k1.h
|
||||
@@ -1,2 +1,11 @@
|
||||
#include <alsa/sound/type_compat.h>
|
||||
#include <alsa/sound/uapi/emu10k1.h>
|
||||
+#ifndef __emu10k1_type_defined
|
||||
+#define __emu10k1_type_defined
|
||||
+typedef struct snd_emu10k1_fx8010_info emu10k1_fx8010_info_t;
|
||||
+typedef struct snd_emu10k1_fx8010_control_gpr emu10k1_fx8010_control_gpr_t;
|
||||
+typedef struct snd_emu10k1_fx8010_code emu10k1_fx8010_code_t;
|
||||
+typedef struct snd_emu10k1_fx8010_tram emu10k1_fx8010_tram_t;
|
||||
+typedef struct snd_emu10k1_fx8010_pcm_rec emu10k1_fx8010_pcm_t;
|
||||
+typedef struct emu10k1_ctl_elem_id emu10k1_ctl_elem_id_t;
|
||||
+#endif
|
||||
diff --git a/include/sound/hdsp.h b/include/sound/hdsp.h
|
||||
index 78fb745b..e8f93156 100644
|
||||
--- a/include/sound/hdsp.h
|
||||
+++ b/include/sound/hdsp.h
|
||||
@@ -1,2 +1,12 @@
|
||||
#include <alsa/sound/type_compat.h>
|
||||
#include <alsa/sound/uapi/hdsp.h>
|
||||
+#ifndef __hdsp_type_defined
|
||||
+#define __hdsp_type_defined
|
||||
+typedef enum HDSP_IO_Type HDSP_IO_Type;
|
||||
+typedef struct hdsp_peak_rms hdsp_peak_rms_t;
|
||||
+typedef struct hdsp_config_info hdsp_config_info_t;
|
||||
+typedef struct hdsp_firmware hdsp_firmware_t;
|
||||
+typedef struct hdsp_version hdsp_version_t;
|
||||
+typedef struct hdsp_mixer hdsp_mixer_t;
|
||||
+typedef struct hdsp_9632_aeb hdsp_9632_aeb_t;
|
||||
+#endif
|
||||
diff --git a/include/sound/hdspm.h b/include/sound/hdspm.h
|
||||
index af6d19ed..d9095d9f 100644
|
||||
--- a/include/sound/hdspm.h
|
||||
+++ b/include/sound/hdspm.h
|
||||
@@ -1,2 +1,10 @@
|
||||
#include <alsa/sound/type_compat.h>
|
||||
#include <alsa/sound/uapi/hdspm.h>
|
||||
+#ifndef __hdspm_type_defined
|
||||
+#define __hdspm_type_defined
|
||||
+typedef struct hdspm_peak_rms hdspm_peak_rms_t;
|
||||
+typedef struct hdspm_config_info hdspm_config_info_t;
|
||||
+typedef struct hdspm_version hdspm_version_t;
|
||||
+typedef struct hdspm_channelfader snd_hdspm_channelfader_t;
|
||||
+typedef struct hdspm_mixer hdspm_mixer_t;
|
||||
+#endif
|
||||
diff --git a/include/sound/sb16_csp.h b/include/sound/sb16_csp.h
|
||||
index 24121fcb..fd02bc56 100644
|
||||
--- a/include/sound/sb16_csp.h
|
||||
+++ b/include/sound/sb16_csp.h
|
||||
@@ -1 +1,5 @@
|
||||
#include <alsa/sound/uapi/sb16_csp.h>
|
||||
+#ifndef __sb16_csp_type_defined
|
||||
+#define __sb16_csp_type_defined
|
||||
+typedef struct snd_sb_csp_microcode snd_sb_csp_microcode_t;
|
||||
+#endif
|
||||
diff --git a/include/sound/uapi/emu10k1.h b/include/sound/uapi/emu10k1.h
|
||||
index c1150e4d..6bcd76f6 100644
|
||||
--- a/include/sound/uapi/emu10k1.h
|
||||
+++ b/include/sound/uapi/emu10k1.h
|
||||
@@ -382,14 +382,4 @@ struct snd_emu10k1_fx8010_pcm_rec {
|
||||
#define SNDRV_EMU10K1_IOCTL_SINGLE_STEP _IOW ('H', 0x83, int)
|
||||
#define SNDRV_EMU10K1_IOCTL_DBG_READ _IOR ('H', 0x84, int)
|
||||
|
||||
-#ifndef __KERNEL__
|
||||
-/* typedefs for compatibility to user-space */
|
||||
-typedef struct snd_emu10k1_fx8010_info emu10k1_fx8010_info_t;
|
||||
-typedef struct snd_emu10k1_fx8010_control_gpr emu10k1_fx8010_control_gpr_t;
|
||||
-typedef struct snd_emu10k1_fx8010_code emu10k1_fx8010_code_t;
|
||||
-typedef struct snd_emu10k1_fx8010_tram emu10k1_fx8010_tram_t;
|
||||
-typedef struct snd_emu10k1_fx8010_pcm_rec emu10k1_fx8010_pcm_t;
|
||||
-typedef struct emu10k1_ctl_elem_id emu10k1_ctl_elem_id_t;
|
||||
-#endif
|
||||
-
|
||||
#endif /* _UAPI__SOUND_EMU10K1_H */
|
||||
diff --git a/include/sound/uapi/hdsp.h b/include/sound/uapi/hdsp.h
|
||||
index 88c92a3f..7ac2d3f2 100644
|
||||
--- a/include/sound/uapi/hdsp.h
|
||||
+++ b/include/sound/uapi/hdsp.h
|
||||
@@ -97,13 +97,4 @@ struct hdsp_9632_aeb {
|
||||
|
||||
#define SNDRV_HDSP_IOCTL_GET_9632_AEB _IOR('H', 0x45, struct hdsp_9632_aeb)
|
||||
|
||||
-/* typedefs for compatibility to user-space */
|
||||
-typedef enum HDSP_IO_Type HDSP_IO_Type;
|
||||
-typedef struct hdsp_peak_rms hdsp_peak_rms_t;
|
||||
-typedef struct hdsp_config_info hdsp_config_info_t;
|
||||
-typedef struct hdsp_firmware hdsp_firmware_t;
|
||||
-typedef struct hdsp_version hdsp_version_t;
|
||||
-typedef struct hdsp_mixer hdsp_mixer_t;
|
||||
-typedef struct hdsp_9632_aeb hdsp_9632_aeb_t;
|
||||
-
|
||||
#endif /* __SOUND_HDSP_H */
|
||||
diff --git a/include/sound/uapi/hdspm.h b/include/sound/uapi/hdspm.h
|
||||
index 2d91f90e..3fbfd9dc 100644
|
||||
--- a/include/sound/uapi/hdspm.h
|
||||
+++ b/include/sound/uapi/hdspm.h
|
||||
@@ -219,12 +219,4 @@ struct hdspm_mixer_ioctl {
|
||||
/* use indirect access due to the limit of ioctl bit size */
|
||||
#define SNDRV_HDSPM_IOCTL_GET_MIXER _IOR('H', 0x44, struct hdspm_mixer_ioctl)
|
||||
|
||||
-/* typedefs for compatibility to user-space */
|
||||
-typedef struct hdspm_peak_rms hdspm_peak_rms_t;
|
||||
-typedef struct hdspm_config_info hdspm_config_info_t;
|
||||
-typedef struct hdspm_version hdspm_version_t;
|
||||
-typedef struct hdspm_channelfader snd_hdspm_channelfader_t;
|
||||
-typedef struct hdspm_mixer hdspm_mixer_t;
|
||||
-
|
||||
-
|
||||
#endif
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
From 4b6fe372c68d1ff50e7c161cffadeb298734f49c Mon Sep 17 00:00:00 2001
|
||||
From: paulhsia <paulhsia@chromium.org>
|
||||
Date: Sat, 30 Nov 2019 03:35:30 +0800
|
||||
Subject: [PATCH 1/5] ucm: Use strncmp to avoid access-out-of-boundary
|
||||
|
||||
If the length of the identifier is less than the length of the prefix,
|
||||
access-out-of-boundary will occur in memcmp().
|
||||
|
||||
Signed-off-by: paulhsia <paulhsia@chromium.org>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
|
||||
---
|
||||
src/ucm/main.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/ucm/main.c b/src/ucm/main.c
|
||||
index b0b6ffb3..252e50d9 100644
|
||||
--- a/src/ucm/main.c
|
||||
+++ b/src/ucm/main.c
|
||||
@@ -61,11 +61,13 @@ static int check_identifier(const char *identifier, const char *prefix)
|
||||
{
|
||||
int len;
|
||||
|
||||
- if (strcmp(identifier, prefix) == 0)
|
||||
- return 1;
|
||||
len = strlen(prefix);
|
||||
- if (memcmp(identifier, prefix, len) == 0 && identifier[len] == '/')
|
||||
+ if (strncmp(identifier, prefix, len) != 0)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (identifier[len] == 0 || identifier[len] == '/')
|
||||
return 1;
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
From 58f9dc9bd12a51efa12dbc67e200f4d85cd3da07 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Fri, 29 Nov 2019 22:28:26 +0100
|
||||
Subject: [PATCH 2/5] ucm: return always at least NULL if no list is available
|
||||
in snd_use_case_get_list()
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
|
||||
---
|
||||
src/ucm/main.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/ucm/main.c b/src/ucm/main.c
|
||||
index 252e50d9..b80db65f 100644
|
||||
--- a/src/ucm/main.c
|
||||
+++ b/src/ucm/main.c
|
||||
@@ -1160,8 +1160,10 @@ static int get_supcon_device_list(snd_use_case_mgr_t *uc_mgr,
|
||||
|
||||
modifier = find_modifier(uc_mgr, verb, name, 0);
|
||||
if (modifier) {
|
||||
- if (modifier->dev_list.type != type)
|
||||
+ if (modifier->dev_list.type != type) {
|
||||
+ *list = NULL;
|
||||
return 0;
|
||||
+ }
|
||||
return get_list(&modifier->dev_list.list, list,
|
||||
struct dev_list_node, list,
|
||||
name);
|
||||
@@ -1169,8 +1171,10 @@ static int get_supcon_device_list(snd_use_case_mgr_t *uc_mgr,
|
||||
|
||||
device = find_device(uc_mgr, verb, name, 0);
|
||||
if (device) {
|
||||
- if (device->dev_list.type != type)
|
||||
+ if (device->dev_list.type != type) {
|
||||
+ *list = NULL;
|
||||
return 0;
|
||||
+ }
|
||||
return get_list(&device->dev_list.list, list,
|
||||
struct dev_list_node, list,
|
||||
name);
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
From 10f3401ce356a675e2440993457ee7c8c7e9fcf8 Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Sun, 1 Dec 2019 14:26:40 +0100
|
||||
Subject: [PATCH 3/5] namehint: correct the @args check
|
||||
|
||||
BugLink: https://github.com/alsa-project/alsa-plugins/issues/3
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
|
||||
---
|
||||
src/control/namehint.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/control/namehint.c b/src/control/namehint.c
|
||||
index 808df6b5..4927ef97 100644
|
||||
--- a/src/control/namehint.c
|
||||
+++ b/src/control/namehint.c
|
||||
@@ -348,6 +348,12 @@ static int try_config(snd_config_t *config,
|
||||
goto __cleanup;
|
||||
if (snd_config_search(res, "@args", &cfg) >= 0) {
|
||||
snd_config_for_each(i, next, cfg) {
|
||||
+ /* skip the argument list */
|
||||
+ snd_config_get_id(snd_config_iterator_entry(i), &str);
|
||||
+ while (*str && *str >= '0' && *str <= '9') str++;
|
||||
+ if (*str == '\0')
|
||||
+ continue;
|
||||
+ /* the argument definition must have the default */
|
||||
if (snd_config_search(snd_config_iterator_entry(i),
|
||||
"default", NULL) < 0) {
|
||||
err = -EINVAL;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From 1fa6664d5f0cc7d21edceba6695a4c28543c2cab Mon Sep 17 00:00:00 2001
|
||||
From: Jaroslav Kysela <perex@perex.cz>
|
||||
Date: Sun, 1 Dec 2019 14:30:54 +0100
|
||||
Subject: [PATCH 4/5] namehint: improve the previous patch (check the returned
|
||||
value)
|
||||
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
|
||||
---
|
||||
src/control/namehint.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/control/namehint.c b/src/control/namehint.c
|
||||
index 4927ef97..60c48ae3 100644
|
||||
--- a/src/control/namehint.c
|
||||
+++ b/src/control/namehint.c
|
||||
@@ -349,7 +349,8 @@ static int try_config(snd_config_t *config,
|
||||
if (snd_config_search(res, "@args", &cfg) >= 0) {
|
||||
snd_config_for_each(i, next, cfg) {
|
||||
/* skip the argument list */
|
||||
- snd_config_get_id(snd_config_iterator_entry(i), &str);
|
||||
+ if (snd_config_get_id(snd_config_iterator_entry(i), &str) < 0)
|
||||
+ continue;
|
||||
while (*str && *str >= '0' && *str <= '9') str++;
|
||||
if (*str == '\0')
|
||||
continue;
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
From 976f8f62238f0d837584adc7c31035bdb29b6d6f Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Tue, 3 Dec 2019 18:27:39 +0100
|
||||
Subject: [PATCH 5/5] ucm: Do not fail to parse configs on cards with an empty
|
||||
CardComponents lists
|
||||
|
||||
Since the UCM profiles for all Bay- and Cherry-Trail SST cards have been
|
||||
moved over to UCM2, parsing them fails with:
|
||||
|
||||
ALSA lib ucm_subs.c:220:(uc_mgr_get_substituted_value) variable '${CardComponents}' is not defined in this context!
|
||||
|
||||
This completely breaks audio support on all Bay- and Cherry-Trail devices.
|
||||
|
||||
This is caused by these non-SOF ASoC using cards having an empty
|
||||
CardComponents list. Which in itself is fine, but is rejected by
|
||||
the ucm_subs.c code. This commit changes the ucm_subs code to accept
|
||||
an empty string as a valid value for CardComponents restoring audio
|
||||
functionality on these boards.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
|
||||
---
|
||||
src/ucm/ucm_subs.c | 20 ++++++++++++--------
|
||||
1 file changed, 12 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/ucm/ucm_subs.c b/src/ucm/ucm_subs.c
|
||||
index 00afa9e3..90e395f0 100644
|
||||
--- a/src/ucm/ucm_subs.c
|
||||
+++ b/src/ucm/ucm_subs.c
|
||||
@@ -25,6 +25,7 @@
|
||||
*/
|
||||
|
||||
#include "ucm_local.h"
|
||||
+#include <stdbool.h>
|
||||
#include <sys/stat.h>
|
||||
#include <limits.h>
|
||||
|
||||
@@ -145,10 +146,11 @@ static char *rval_sysfs(snd_use_case_mgr_t *uc_mgr ATTRIBUTE_UNUSED, const char
|
||||
return strdup(path);
|
||||
}
|
||||
|
||||
-#define MATCH_VARIABLE(name, id, fcn) \
|
||||
+#define MATCH_VARIABLE(name, id, fcn, empty_ok) \
|
||||
if (strncmp((name), (id), sizeof(id) - 1) == 0) { \
|
||||
rval = fcn(uc_mgr); \
|
||||
idsize = sizeof(id) - 1; \
|
||||
+ allow_empty = (empty_ok); \
|
||||
goto __rval; \
|
||||
}
|
||||
|
||||
@@ -189,12 +191,14 @@ int uc_mgr_get_substituted_value(snd_use_case_mgr_t *uc_mgr,
|
||||
|
||||
while (*value) {
|
||||
if (*value == '$' && *(value+1) == '{') {
|
||||
- MATCH_VARIABLE(value, "${ConfName}", rval_conf_name);
|
||||
- MATCH_VARIABLE(value, "${CardId}", rval_card_id);
|
||||
- MATCH_VARIABLE(value, "${CardDriver}", rval_card_driver);
|
||||
- MATCH_VARIABLE(value, "${CardName}", rval_card_name);
|
||||
- MATCH_VARIABLE(value, "${CardLongName}", rval_card_longname);
|
||||
- MATCH_VARIABLE(value, "${CardComponents}", rval_card_components);
|
||||
+ bool allow_empty = false;
|
||||
+
|
||||
+ MATCH_VARIABLE(value, "${ConfName}", rval_conf_name, false);
|
||||
+ MATCH_VARIABLE(value, "${CardId}", rval_card_id, false);
|
||||
+ MATCH_VARIABLE(value, "${CardDriver}", rval_card_driver, false);
|
||||
+ MATCH_VARIABLE(value, "${CardName}", rval_card_name, false);
|
||||
+ MATCH_VARIABLE(value, "${CardLongName}", rval_card_longname, false);
|
||||
+ MATCH_VARIABLE(value, "${CardComponents}", rval_card_components, true);
|
||||
MATCH_VARIABLE2(value, "${env:", rval_env);
|
||||
MATCH_VARIABLE2(value, "${sys:", rval_sysfs);
|
||||
err = -EINVAL;
|
||||
@@ -208,7 +212,7 @@ int uc_mgr_get_substituted_value(snd_use_case_mgr_t *uc_mgr,
|
||||
}
|
||||
goto __error;
|
||||
__rval:
|
||||
- if (rval == NULL || rval[0] == '\0') {
|
||||
+ if (rval == NULL || (!allow_empty && rval[0] == '\0')) {
|
||||
free(rval);
|
||||
strncpy(r, value, idsize);
|
||||
r[idsize] = '\0';
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -7,18 +7,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \
|
||||
file://src/socket.c;md5=285675b45e83f571c6a957fe4ab79c93;beginline=9;endline=24 \
|
||||
"
|
||||
|
||||
SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2 \
|
||||
file://0001-configure.ac-remove-an-unnecessary-libtool-fix.patch \
|
||||
file://0001-ucm-Use-strncmp-to-avoid-access-out-of-boundary.patch \
|
||||
file://0002-ucm-return-always-at-least-NULL-if-no-list-is-availa.patch \
|
||||
file://0003-namehint-correct-the-args-check.patch \
|
||||
file://0004-namehint-improve-the-previous-patch-check-the-return.patch \
|
||||
file://0005-ucm-Do-not-fail-to-parse-configs-on-cards-with-an-em.patch \
|
||||
file://0001-Fix-alsa-sound-.h-for-external-programs.patch \
|
||||
file://0001-uapi-Move-typedefs-from-uapi-to-sound.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "82ddd3698469beec147e4f4a67134ea0"
|
||||
SRC_URI[sha256sum] = "958e260e3673f1f6ff6b2d2c0df3fc2e469bea5b2957163ce96ce17f23e87943"
|
||||
SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2"
|
||||
SRC_URI[md5sum] = "82cdc23a5233d5ed319d2cbc89af5ca5"
|
||||
SRC_URI[sha256sum] = "d8e853d8805574777bbe40937812ad1419c9ea7210e176f0def3e6ed255ab3ec"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
Reference in New Issue
Block a user