summaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-02-11 09:05:32 +0100
committerRichard Weinberger <richard@nod.at>2012-03-25 00:29:56 +0100
commit199eebbae45791af0f37184dd495f16a6cf5c34a (patch)
tree473834d6b21fa9e54d5deb158b54f78a984f7bc4 /arch/um
parentum: don't bother trying to rebuild CHECKFLAGS for USER_OBJS (diff)
downloadlinux-199eebbae45791af0f37184dd495f16a6cf5c34a.tar.xz
linux-199eebbae45791af0f37184dd495f16a6cf5c34a.zip
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/um')
-rw-r--r--arch/um/drivers/line.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index 4a3c853689a3..4ab0d9c0911c 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;