diff options
Diffstat (limited to 'src/modules/alsa/alsa-source.c')
-rw-r--r-- | src/modules/alsa/alsa-source.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c index 4683dfe61..0820b48f1 100644 --- a/src/modules/alsa/alsa-source.c +++ b/src/modules/alsa/alsa-source.c @@ -1854,6 +1854,15 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p b = use_mmap; d = use_tsched; + /* Force ALSA to reread its configuration if module-alsa-card didn't + * do it for us. This matters if our device was hot-plugged after ALSA + * has already read its configuration - see + * https://bugs.freedesktop.org/show_bug.cgi?id=54029 + */ + + if (!card) + snd_config_update_free_global(); + if (mapping) { if (!(dev_id = pa_modargs_get_value(ma, "device_id", NULL))) { |