Bladeren bron

um: deadlock in line_write_interrupt()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
Al Viro 13 jaren geleden
bovenliggende
commit
199eebbae4
1 gewijzigde bestanden met toevoegingen van 1 en 0 verwijderingen
  1. 1 0
      arch/um/drivers/line.c

+ 1 - 0
arch/um/drivers/line.c

@@ -344,6 +344,7 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
 	spin_lock(&line->lock);
 	spin_lock(&line->lock);
 	err = flush_buffer(line);
 	err = flush_buffer(line);
 	if (err == 0) {
 	if (err == 0) {
+		spin_unlock(&line->lock);
 		return IRQ_NONE;
 		return IRQ_NONE;
 	} else if (err < 0) {
 	} else if (err < 0) {
 		line->head = line->buffer;
 		line->head = line->buffer;