Skip to content

Commit

Permalink
[PATCH] Char: isicom, fix locking in isr
Browse files Browse the repository at this point in the history
2 spin_unlocks are omitted in the interrupt handler.  Put them there to fix up
deadlocking on UP.

Signed-off-by: Jiri Slaby <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
jirislaby authored and Linus Torvalds committed Feb 11, 2007
1 parent 02d3fca commit 174f130
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/char/isicom.c
Original file line number Diff line number Diff line change
Expand Up @@ -564,6 +564,7 @@ static irqreturn_t isicom_interrupt(int irq, void *dev_id)
port = card->ports + channel;
if (!(port->flags & ASYNC_INITIALIZED)) {
outw(0x0000, base+0x04); /* enable interrupts */
spin_unlock(&card->card_lock);
return IRQ_HANDLED;
}

Expand Down Expand Up @@ -678,6 +679,7 @@ static irqreturn_t isicom_interrupt(int irq, void *dev_id)
tty_flip_buffer_push(tty);
}
outw(0x0000, base+0x04); /* enable interrupts */
spin_unlock(&card->card_lock);

return IRQ_HANDLED;
}
Expand Down

0 comments on commit 174f130

Please sign in to comment.