Resending again... this is getting silly. Begin forwarded message: > From: Andrew McGregor <andrewmcgr@xxxxxxxxx> > Date: 15 June 2011 2:14:19 PM NZST > To: "Greg KH" <greg@xxxxxxxxx>, Alan Cox <alan@xxxxxxxxxxxxxxx>, Joe Peterson <joe@xxxxxxxxxxx>, linux-serial@xxxxxxxxxxxxxxx > Cc: andrew.mcgregor@xxxxxxxxxxxxxxxxxxx > Subject: Fwd: "irq 42: nobody cared" and I/O errors on serial ports > > Resending from another address due to broken mail system. > > Sorry for the spam everyone, I'll just do it this way next time. > > Andrew > >>>> On 6/15/2011 at 12:31 PM, in message > <4DF8AF57.0494.0036.0@xxxxxxxxxxxxxxxxxxx>, andrew mcgregor > <andrew.mcgregor@xxxxxxxxxxxxxxxxxxx> wrote: >> Resending due to catastrophically broken mail system... >> >> Oops, sorry. >> Sorry about the Signed-off, I misunderstood what Alan was asking me to do. >> It should be signed-off by me. >> >> Edited patch attached. >> >>>>> On 6/14/2011 at 03:48 AM, in message <20110613154818.GB32372@xxxxxxxxx>, Greg >> KH <greg@xxxxxxxxx> wrote: >>> On Mon, Jun 13, 2011 at 11:55:14AM +1200, andrew mcgregor wrote: >>>> Ok, patch attached. >>>> >>> >>>>> From 9c14cbc96253c90533a4dbd12fd8cc23955d7133 Mon Sep 17 00:00:00 2001 >>>> From: Andrew McGregor <andrew.mcgregor@xxxxxxxxxxxxxxxxxxx> >>>> Date: Mon, 13 Jun 2011 11:31:31 +1200 >>>> Subject: [PATCH] fix "IRQ45: nobody cared" >>>> >>>> Unthrottling the TTY during close ends up enabling interrupts >>>> on a device not on the active list, which will never have the >>>> interrupts cleared. Doctor, it hurts when I do this. >>>> >>>> On Wed, 01 Jun 2011 10:34:07 +1200 >>>> "andrew mcgregor" <andrew.mcgregor@xxxxxxxxxxxxxxxxxxx> wrote: >>>> >>>>> The LKML message >>>>> http://kerneltrap.org/mailarchive/linux-kernel/2010/2/25/4541847 from >>>>> February doesn't seem to have been resolved since. We struck the >>>>> issue, and the patch below (against 2.6.32) fixes it. Should I >>>>> supply a patch against 3.0.0rc? >>>> >>>> I think that would be sensible. I don't actually see how you hit it as >>>> the IRQ ought to be masked by then but it's certainly wrong for n_tty >>>> to be calling into check_unthrottle at that point. >>>> >>>> So yes please send a patch with a suitable Signed-off-by: line to >>>> linux-serial and cc GregKH <greg@xxxxxxxxx> as well. >>>> >>>> Alan >>>> >>>> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> >>> >>> Wait, Alan wrote this? Or you did? You can't add someone elses >>> Signed-off-by: to a patch they didn't create. Please read >>> Documentation/SubmittingPatches for what this line means. >>> >>> thanks, >>> >>> greg k-h >>> >>
From 9c14cbc96253c90533a4dbd12fd8cc23955d7133 Mon Sep 17 00:00:00 2001 From: Andrew McGregor <andrew.mcgregor@xxxxxxxxxxxxxxxxxxx> Date: Mon, 13 Jun 2011 11:31:31 +1200 Subject: [PATCH] fix "IRQ45: nobody cared" Unthrottling the TTY during close ends up enabling interrupts on a device not on the active list, which will never have the interrupts cleared. Doctor, it hurts when I do this. >>> On 6/2/2011 at 01:56 AM, in message <20110601145608.3e586e16@xxxxxxxxxxxxxxxx>, Alan Cox <alan@xxxxxxxxxxxxxxx> wrote: > On Wed, 01 Jun 2011 10:34:07 +1200 > "andrew mcgregor" <andrew.mcgregor@xxxxxxxxxxxxxxxxxxx> wrote: > > The LKML message > > http://kerneltrap.org/mailarchive/linux-kernel/2010/2/25/4541847 from > > February doesn't seem to have been resolved since. We struck the > > issue, and the patch below (against 2.6.32) fixes it. Should I > > supply a patch against 3.0.0rc? > > I think that would be sensible. I don't actually see how you hit it as > the IRQ ought to be masked by then but it's certainly wrong for n_tty > to be calling into check_unthrottle at that point. > > So yes please send a patch with a suitable Signed-off-by: line to > linux-serial and cc GregKH <greg@xxxxxxxxx> as well. > > Alan Signed-off-by: Andrew McGregor <andrew.mcgregor@xxxxxxxxxxxxxxxxxxx> --- drivers/tty/n_tty.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c index 0ad3288..1ddc5d7 100644 --- a/drivers/tty/n_tty.c +++ b/drivers/tty/n_tty.c @@ -185,7 +185,6 @@ static void reset_buffer_flags(struct tty_struct *tty) tty->canon_head = tty->canon_data = tty->erasing = 0; memset(&tty->read_flags, 0, sizeof tty->read_flags); n_tty_set_room(tty); - check_unthrottle(tty); } /** @@ -1587,6 +1586,7 @@ static int n_tty_open(struct tty_struct *tty) return -ENOMEM; } reset_buffer_flags(tty); + tty_unthrottle(tty); tty->column = 0; n_tty_set_termios(tty, NULL); tty->minimum_to_wake = 1; -- 1.7.0.4
> >