diff -Nru linux/drivers/char/sb1250_duart.c.orig linux/drivers/char/sb1250_duart.c --- linux/drivers/char/sb1250_duart.c.orig Fri Nov 30 21:39:30 2001 +++ linux/drivers/char/sb1250_duart.c Thu Dec 20 17:38:24 2001 @@ -370,10 +370,10 @@ duart_mask_ints(line, M_DUART_IMR_TX); spin_lock_irqsave(&us->outp_lock, flags); us->outp_head = us->outp_tail = us->outp_count = 0; - spin_unlock_irqrestore(&us->outp_lock, flags); if (us->flags & SD_WRITE_WAKE) { wake_up_interruptible(&us->tty->write_wait); } + spin_unlock_irqrestore(&us->outp_lock, flags); }