[alsa-devel] [PATCH] ALSA AICA sound on SEGA Dreamcast - fix behaviour in poor resource conditions
Adrian McMenamin
adrianmcmenamin at gmail.com
Fri Jul 6 11:46:59 CEST 2007
On 06/07/07, Takashi Iwai <tiwai at suse.de> wrote:
> At Thu, 5 Jul 2007 23:07:44 +0100,
> Adrian McMenamin wrote:
> > @@ -402,17 +396,10 @@
> > static int snd_aicapcm_pcm_trigger(struct snd_pcm_substream
> > *substream, int cmd)
> > {
> > - struct snd_card_aica *dreamcastcard;
> > switch (cmd) {
> > case SNDRV_PCM_TRIGGER_START:
> > spu_begin_dma(substream);
> > break;
> > - case SNDRV_PCM_TRIGGER_STOP:
> > - dreamcastcard = substream->pcm->private_data;
> > - if (dreamcastcard->timer.data)
> > - del_timer(&dreamcastcard->timer);
> > - aica_chn_halt();
> > - break;
> > default:
> > return -EINVAL;
> > }
>
> Is this a correct change? Then you'd have no control for stopping the
> stream.
>
The shutdown is all done in the close() now, partly because
snd_aicapcm_pcm_trigger cannot sleep and close() can. Is there a
pressing reason to put code in snd_aicapcm_pcm_trigger?
More information about the Alsa-devel
mailing list