Bug 14388

Summary: keyboard under X with 2.6.31
Product: Drivers Reporter: Rafael J. Wysocki (rjw)
Component: OtherAssignee: drivers_other
Status: CLOSED CODE_FIX    
Severity: normal CC: bfrisch, fredlwm+others, johannes.segitz
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.31 Tree: Mainline
Regression: Yes
Bug Depends on:    
Bug Blocks: 13615    

Description Rafael J. Wysocki 2009-10-11 21:31:57 UTC
Subject    : keyboard under X with 2.6.31
Submitter  : "Frédéric L. W. Meunier" <fredlwm@gmail.com>
Date       : 2009-10-07 20:19
References : http://marc.info/?l=linux-kernel&m=125494753228217&w=4
Notify-Also : Dmitry Torokhov <dmitry.torokhov@gmail.com>
Notify-Also : "Justin P. Mattock" <justinmattock@gmail.com>
Notify-Also : Boyan <btanastasov@yahoo.co.uk>
Notify-Also : Ed Tomlinson <edt@aei.ca>

This entry is being used for tracking a regression from 2.6.30.  Please don't
close it until the problem is fixed in the mainline.

Reportedly caused by:

commit e043e42bdb66885b3ac10d27a01ccb9972e2b0a3
Author: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Date:   Wed Jul 29 12:15:56 2009 -0700

    pty: avoid forcing 'low_latency' tty flag

    Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
    Tested-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    [ Modified to do the tty_flush_to_ldisc() inside input_available_p() so
      that it triggers for both read and poll()  - Linus]
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Comment 1 Rafael J. Wysocki 2009-10-11 21:34:48 UTC
First-Bad-Commit : e043e42bdb66885b3ac10d27a01ccb9972e2b0a3
Comment 2 Rafael J. Wysocki 2009-10-12 21:39:56 UTC
On Monday 12 October 2009, Justin P. Mattock wrote:
> Not sure where this stands. Right now all three machines I have seem  
> to be having no issues with the kayboard
> (xserver 1.6.*) I can go and build the latest xserver(1.7) to see if I  
> hit something.
Comment 3 Frédéric L. W. Meunier 2009-10-12 21:50:34 UTC
I also use 1.7, but that doesn't seem to be the problem, because Boyan tested with two 1.6 versions  - http://marc.info/?l=linux-kernel&m=125520660407325&w=4
Comment 4 Rafael J. Wysocki 2009-10-12 23:02:58 UTC
On Tuesday 13 October 2009, Nix wrote:
> On 12 Oct 2009, Justin P. Mattock uttered the following:
> 
> > Not sure where this stands. Right now all three machines I have seem  to be
> having no issues with the kayboard
> > (xserver 1.6.*) I can go and build the latest xserver(1.7) to see if I  hit
> something.
> [...]
> >> Bug-Entry    : http://bugzilla.kernel.org/show_bug.cgi?id=14388
> >> Subject        : keyboard under X with 2.6.31
> >> Submitter    : Frédéric L. W. Meunier <fredlwm@gmail.com>
> >> Date        : 2009-10-07 20:19 (5 days old)
> >> First-Bad-Commit:
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e043e42bdb66885b3ac10d27a01ccb9972e2b0a3
> >> References    : http://marc.info/?l=linux-kernel&m=125494753228217&w=4
> 
> I have been seeing problems precisely like those described (sometimes
> the keyboard dies, sometimes it gets 'stuck' with a key held down, until
> I switch TTYs, which generally means killing X as I'm not aware of an
> easy way to switch VTs using only the mouse), since I moved to 2.6.31,
> using the kbd driver from X.org git with head commit
> 158d33c15df60696946031a0319e2bd2ec8b9541, and version 1.6.3.901 of the X
> server, old enough that I'd been using it for a couple of weeks before
> switching to 2.6.31 without incident. (Note, I'm using kbd, not
> evdev. Maybe this is a common factor among everyone seeing failures: I
> don't know.)
> 
> So it seems likely to me that this is a kernel bug, somewhere, and the
> TTY layer seems like a good place to look (OK, a horrible place, but a
> *likely* place).
> 
> I'm about to try reverting the suggested commit and will report back. I
> see this failure about once a day, so I'll give it three days to go
> wrong and then (if it doesn't) will presume it works and so inform you.
> 
> 
> (Of course with this commit reverted Emacsen start dropping data from
> their ptys, and as bad luck would have it I live in (X)Emacs, but that's
> on a different machine! so I can have my compile buffer data *and* not
> destroy X ;} )
Comment 5 Rafael J. Wysocki 2009-10-27 08:20:56 UTC
On Monday 26 October 2009, Linus Torvalds wrote:
> 
> On Tue, 27 Oct 2009, Boyan wrote:
> > 
> > I think it is fixed in 2.6.31.5. I can't reproduce the problem with it.
> 
> It was fixed by mainline commit c8e33141911bf8fe87dc6c92793b9a59b2be0130 
> ("tty: Make flush_to_ldisc() locking more robust"), which got back-ported 
> to 2.6.31.5 as commit 86d23a057.