LINUX.ORG.RU

История изменений

Исправление Andrew, (текущая версия) :

Удалось пофиксить проблему в альсовом драйвере. Патч нашел тут. К сожалению, в апстрим видимо по какой-то причине патч не прошел, а багтрекер у альсы закрыт.

--- quirks.c   Fri Jul 18 01:20:16 2014
+++ quirks.c   Sun Jul 20 00:20:49 2014
@@ -723,7 +723,8 @@ static void set_format_emu_quirk(struct
         * by playback substream
         */
        if (subs->direction == SNDRV_PCM_STREAM_PLAYBACK) {
-               if (subs->stream->substream[SNDRV_PCM_STREAM_CAPTURE].interface != -1)
+               if (subs->stream->substream[SNDRV_PCM_STREAM_CAPTURE].interface != -1 &&
+                       subs->stream->substream[SNDRV_PCM_STREAM_CAPTURE].running)
                        return;
        } 

Исходная версия Andrew, :

Удалось пофиксить проблему в альсовом драйвере. Патч нашел тут.

--- quirks.c   Fri Jul 18 01:20:16 2014
+++ quirks.c   Sun Jul 20 00:20:49 2014
@@ -723,7 +723,8 @@ static void set_format_emu_quirk(struct
         * by playback substream
         */
        if (subs->direction == SNDRV_PCM_STREAM_PLAYBACK) {
-               if (subs->stream->substream[SNDRV_PCM_STREAM_CAPTURE].interface != -1)
+               if (subs->stream->substream[SNDRV_PCM_STREAM_CAPTURE].interface != -1 &&
+                       subs->stream->substream[SNDRV_PCM_STREAM_CAPTURE].running)
                        return;
        }