sound: Add missing spin_unlock
Add a spin_unlock missing on the error path. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression E1; @@ * spin_lock(E1,...); <+... when != E1 if (...) { ... when != E1 * return ...; } ...+> * spin_unlock(E1,...); // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
4daf7a0c0b
Коммит
1efddcc981
|
@ -516,6 +516,7 @@ get the interrupt driven case to work efficiently */
|
|||
break;
|
||||
if (i == 0x5000) {
|
||||
printk(KERN_ERR "au1000 AC97: AC97 command read timeout\n");
|
||||
spin_unlock(&au1000->ac97_lock);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче