diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-05-29 21:50:33 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-05-29 21:50:33 +0200 |
commit | a98d3984c85222aa9efc63c4f9dd3d805ce469f2 (patch) | |
tree | aeb9ebdcc06ca92b8114f30cedf16b8f3780b3f2 /sound/oss/dmasound/dmasound_atari.c | |
parent | 52593de4c11fb24c83d8036ba34706881aab5e3d (diff) | |
parent | 55567ab70bd8551c73253e44ea5244db41eac81b (diff) | |
download | op-kernel-dev-a98d3984c85222aa9efc63c4f9dd3d805ce469f2.zip op-kernel-dev-a98d3984c85222aa9efc63c4f9dd3d805ce469f2.tar.gz |
Merge branch 'fix/misc' into for-linus
Diffstat (limited to 'sound/oss/dmasound/dmasound_atari.c')
-rw-r--r-- | sound/oss/dmasound/dmasound_atari.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/oss/dmasound/dmasound_atari.c b/sound/oss/dmasound/dmasound_atari.c index 1f47741..13c2144 100644 --- a/sound/oss/dmasound/dmasound_atari.c +++ b/sound/oss/dmasound/dmasound_atari.c @@ -1277,7 +1277,7 @@ static irqreturn_t AtaInterrupt(int irq, void *dummy) * (almost) like on the TT. */ write_sq_ignore_int = 0; - return IRQ_HANDLED; + goto out; } if (!write_sq.active) { @@ -1285,7 +1285,7 @@ static irqreturn_t AtaInterrupt(int irq, void *dummy) * the sq variables, so better don't do anything here. */ WAKE_UP(write_sq.sync_queue); - return IRQ_HANDLED; + goto out; } /* Probably ;) one frame is finished. Well, in fact it may be that a @@ -1322,6 +1322,7 @@ static irqreturn_t AtaInterrupt(int irq, void *dummy) /* We are not playing after AtaPlay(), so there is nothing to play any more. Wake up a process waiting for audio output to drain. */ +out: spin_unlock(&dmasound.lock); return IRQ_HANDLED; } |