[alsa-devel] [PATCH] Improve behaviour of Dreamcast aica ALSA driver in poor resource conditions
Adrian McMenamin
adrianmcmenamin at gmail.com
Tue Jul 3 23:36:40 CEST 2007
This patch stops the driver from crashing in certain situations (eg if
the network fails when NFS mounted), please apply.
Signed-off by: Adrian McMenamin <adrian at mcmen.demon.co.uk>
--- alsa-kernel/sh/aica.c 2007-06-23 15:25:55.000000000 +0100
+++ linux-2.6.21/sound/sh/aica.c 2007-07-03 22:28:16.000000000 +0100
@@ -366,7 +366,9 @@
*substream)
{
struct snd_card_aica *dreamcastcard = substream->pcm->private_data;
+ flush_workqueue(aica_queue);
del_timer(&dreamcastcard->timer);
+ aica_chn_halt();
kfree(dreamcastcard->channel);
spu_disable();
return 0;
@@ -402,16 +404,11 @@
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;
More information about the Alsa-devel
mailing list