ALSA: asihpi - Only set sync if card supports hardware stream grouping.
authorEliot Blennerhassett <eblennerhassett@audioscience.com>
Thu, 22 Dec 2011 00:38:38 +0000 (13:38 +1300)
committerTakashi Iwai <tiwai@suse.de>
Thu, 22 Dec 2011 07:13:02 +0000 (08:13 +0100)
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/asihpi/asihpi.c

index d3cab351718069848f401da7dac5c11348dd0a00..62f094c0ef08d532640104f00aeea3c40acc1bf1 100644 (file)
@@ -1033,8 +1033,10 @@ static int snd_card_asihpi_playback_open(struct snd_pcm_substream *substream)
                                        SNDRV_PCM_INFO_MMAP |
                                        SNDRV_PCM_INFO_MMAP_VALID;
 
-       if (card->support_grouping)
+       if (card->support_grouping) {
                snd_card_asihpi_playback.info |= SNDRV_PCM_INFO_SYNC_START;
+               snd_pcm_set_sync(substream);
+       }
 
        /* struct is copied, so can create initializer dynamically */
        runtime->hw = snd_card_asihpi_playback;
@@ -1051,8 +1053,6 @@ static int snd_card_asihpi_playback_open(struct snd_pcm_substream *substream)
        snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_SIZE,
                card->update_interval_frames * 2, UINT_MAX);
 
-       snd_pcm_set_sync(substream);
-
        snd_printdd("playback open\n");
 
        return 0;