• Jiri Slaby's avatar
    TTY: ldisc, fix open flag handling · 7f90cfc5
    Jiri Slaby authored
    When a concrete ldisc open fails in tty_ldisc_open, we forget to clear
    TTY_LDISC_OPEN. This causes a false warning on the next ldisc open:
    WARNING: at drivers/char/tty_ldisc.c:445 tty_ldisc_open+0x26/0x38()
    Hardware name: System Product Name
    Modules linked in: ...
    Pid: 5251, comm: a.out Tainted: G        W  2.6.32-5-686 #1
    Call Trace:
     [<c1030321>] ? warn_slowpath_common+0x5e/0x8a
     [<c1030357>] ? warn_slowpath_null+0xa/0xc
     [<c119311c>] ? tty_ldisc_open+0x26/0x38
     [<c11936c5>] ? tty_set_ldisc+0x218/0x304
    ...
    
    So clear the bit when failing...
    
    Introduced in c65c9bc3 (tty: rewrite the ldisc locking) back in
    2.6.31-rc1.
    Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
    Cc: Alan Cox <alan@linux.intel.com>
    Reported-by: default avatarSergey Lapin <slapin@ossfans.org>
    Tested-by: default avatarSergey Lapin <slapin@ossfans.org>
    Cc: stable <stable@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    7f90cfc5
tty_ldisc.c 22.7 KB