mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-12-16 08:56:40 -05:00
alsa: Don't try to use ELD controls with UCM
This fixes a crash that occurred when trying to access non-existent
port data. Doing this:
pa_alsa_port_data *data = PA_DEVICE_PORT_DATA(port);
is not a good idea when using UCM, because in the UCM mode ports don't
have any data, so the data pointer points to some random memory.
This commit is contained in:
parent
ff5e7b8707
commit
82ec47898e
1 changed files with 6 additions and 0 deletions
|
|
@ -455,6 +455,12 @@ static void init_eld_ctls(struct userdata *u) {
|
||||||
if (!u->mixer_handle)
|
if (!u->mixer_handle)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
/* The code in this function expects ports to have a pa_alsa_port_data
|
||||||
|
* struct as their data, but in UCM mode ports don't have any data. Hence,
|
||||||
|
* the ELD controls can't currently be used in UCM mode. */
|
||||||
|
if (u->use_ucm)
|
||||||
|
return;
|
||||||
|
|
||||||
PA_HASHMAP_FOREACH(port, u->card->ports, state) {
|
PA_HASHMAP_FOREACH(port, u->card->ports, state) {
|
||||||
pa_alsa_port_data *data = PA_DEVICE_PORT_DATA(port);
|
pa_alsa_port_data *data = PA_DEVICE_PORT_DATA(port);
|
||||||
snd_mixer_elem_t* melem;
|
snd_mixer_elem_t* melem;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue