|
@@ -286,12 +286,14 @@ static int loopback_trigger(struct snd_pcm_substream *substream, int cmd)
|
|
|
loopback_active_notify(dpcm);
|
|
|
break;
|
|
|
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
|
|
|
+ case SNDRV_PCM_TRIGGER_SUSPEND:
|
|
|
spin_lock(&cable->lock);
|
|
|
cable->pause |= stream;
|
|
|
loopback_timer_stop(dpcm);
|
|
|
spin_unlock(&cable->lock);
|
|
|
break;
|
|
|
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
|
|
|
+ case SNDRV_PCM_TRIGGER_RESUME:
|
|
|
spin_lock(&cable->lock);
|
|
|
dpcm->last_jiffies = jiffies;
|
|
|
cable->pause &= ~stream;
|
|
@@ -563,7 +565,8 @@ static snd_pcm_uframes_t loopback_pointer(struct snd_pcm_substream *substream)
|
|
|
static struct snd_pcm_hardware loopback_pcm_hardware =
|
|
|
{
|
|
|
.info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_MMAP |
|
|
|
- SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_PAUSE),
|
|
|
+ SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_PAUSE |
|
|
|
+ SNDRV_PCM_INFO_RESUME),
|
|
|
.formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S16_BE |
|
|
|
SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S32_BE |
|
|
|
SNDRV_PCM_FMTBIT_FLOAT_LE | SNDRV_PCM_FMTBIT_FLOAT_BE),
|