On Mon, 2015-02-09 at 11:28 +0100, David Henningsson wrote: > Ack. Thanks, pushed. -- Tanu > On 2015-02-06 23:15, Tanu Kaskinen wrote: > > 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. > > --- > > src/modules/alsa/module-alsa-card.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/src/modules/alsa/module-alsa-card.c b/src/modules/alsa/module-alsa-card.c > > index df04155..a7fec04 100644 > > --- a/src/modules/alsa/module-alsa-card.c > > +++ b/src/modules/alsa/module-alsa-card.c > > @@ -455,6 +455,12 @@ static void init_eld_ctls(struct userdata *u) { > > if (!u->mixer_handle) > > 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_alsa_port_data *data = PA_DEVICE_PORT_DATA(port); > > snd_mixer_elem_t* melem; > > >