alsa-ucm: do not try to use UCM device name as jack name by default
authorJaroslav Kysela <perex@perex.cz>
Fri, 6 Dec 2019 14:43:04 +0000 (15:43 +0100)
committerArun Raghavan <arun@arunraghavan.net>
Wed, 18 Dec 2019 07:29:11 +0000 (08:29 +0100)
Remove the implicit rule. It is perfectly ok to have the jack with
the same name for another I/O in the driver. Trust only the
value obtained from UCM.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
src/modules/alsa/alsa-ucm.c

index ac1b71e9402224035f34cd9b68a3e5c505e7ab0d..95f1a47f8b615b611e05f25bc6a0ffcb2a9d6409 100644 (file)
@@ -1522,9 +1522,8 @@ static pa_alsa_jack* ucm_get_jack(pa_alsa_ucm_config *ucm, pa_alsa_ucm_device *d
          * end, so drop the trailing " Jack". */
         name = pa_xstrndup(jack_control, strlen(jack_control) - 5);
     } else {
-        /* The jack control hasn't been explicitly configured - try a jack name
-         * that is the same as the device name. */
-        name = pa_xstrdup(device_name);
+        /* The jack control hasn't been explicitly configured, fail. */
+        return NULL;
     }
 
     PA_LLIST_FOREACH(j, ucm->jacks)
@@ -1603,7 +1602,8 @@ static int ucm_create_profile(
         ucm_create_mapping(ucm, ps, p, dev, verb_name, name, sink, source);
 
         jack = ucm_get_jack(ucm, dev);
-        device_set_jack(dev, jack);
+        if (jack)
+            device_set_jack(dev, jack);
 
         /* JackHWMute contains a list of device names. Each listed device must
          * be associated with the jack object that we just created. */