On Thu, 2006-01-19 at 01:06 +0100, Diego Calleja wrote:
> I got this on my log files (56k serial modem, pentium 3 smp machine, the
> machine didn't hang, in fact I could connect again to send this bug
> report). If needed, here's the dmesg: http://www.terra.es/personal/diegocg/dmesg
> and .config: http://www.terra.es/personal/diegocg/.config. I've never seen
> this so I assumed it could be a problem with the "TTY layer buffering revamp"
Can you try the attached patch please?
Does this occur frequently?
Thanks
--
Paul Fulghum
Microgate Systems, Ltd
--- linux-2.6.16-rc1/include/linux/tty_flip.h 2006-01-19 10:18:49.000000000 -0600
+++ linux-2.6.16-rc1-mg/include/linux/tty_flip.h 2006-01-19 10:20:50.000000000 -0600
@@ -16,13 +16,23 @@ extern int tty_prepare_flip_string_flags
_INLINE_ int tty_insert_flip_char(struct tty_struct *tty,
unsigned char ch, char flag)
{
- struct tty_buffer *tb = tty->buf.tail;
+ struct tty_buffer *tb;
+ unsigned long flags;
+ int rc;
+
+ spin_lock_irqsave(&tty->read_lock, flags);
+
+ tb = tty->buf.tail;
if (tb && tb->used < tb->size) {
tb->flag_buf_ptr[tb->used] = flag;
tb->char_buf_ptr[tb->used++] = ch;
+ spin_unlock_irqrestore(&tty->read_lock, flags);
return 1;
}
- return tty_insert_flip_string_flags(tty, &ch, &flag, 1);
+ rc = tty_insert_flip_string_flags(tty, &ch, &flag, 1);
+
+ spin_unlock_irqrestore(&tty->read_lock, flags);
+ return rc;
}
_INLINE_ void tty_schedule_flip(struct tty_struct *tty)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]