[PATCH] Improve behaviour of Dreamcast aica ALSA driver in poor resource conditions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <[email protected]>

--- 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;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux