diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-02-11 03:05:32 -0500 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2012-03-25 00:29:56 +0100 |
commit | 199eebbae45791af0f37184dd495f16a6cf5c34a (patch) | |
tree | 473834d6b21fa9e54d5deb158b54f78a984f7bc4 /arch | |
parent | 64405360cee33a058d7e07713af23aca43b96d41 (diff) |
um: deadlock in line_write_interrupt()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/um/drivers/line.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c index 4a3c853689a..4ab0d9c0911 100644 --- a/arch/um/drivers/line.c +++ b/arch/um/drivers/line.c @@ -344,6 +344,7 @@ static irqreturn_t line_write_interrupt(int irq, void *data) spin_lock(&line->lock); err = flush_buffer(line); if (err == 0) { + spin_unlock(&line->lock); return IRQ_NONE; } else if (err < 0) { line->head = line->buffer; |