• Thomas Gleixner's avatar
    tty: Do not disable interrupts in put_ldisc on -rt · b67602a5
    Thomas Gleixner authored
    Fixes the following on PREEMPT_RT:
    
    BUG: sleeping function called from invalid context at kernel/rtmutex.c:684
    in_atomic(): 0, irqs_disabled(): 1, pid: 9116, name: sshd
    Pid: 9116, comm: sshd Not tainted 2.6.31-rc6-rt2 #6
    Call Trace:
    [<ffffffff81034a4f>] __might_sleep+0xec/0xee
    [<ffffffff812fbc6d>] rt_spin_lock+0x34/0x75
    [ffffffff81064a83>] atomic_dec_and_spin_lock+0x36/0x54
    [<ffffffff811df7c7>] put_ldisc+0x57/0xa6
    [<ffffffff811dfb87>] tty_ldisc_hangup+0xe7/0x19f
    [<ffffffff811d9224>] do_tty_hangup+0xff/0x319
    [<ffffffff811d9453>] tty_vhangup+0x15/0x17
    [<ffffffff811e1263>] pty_close+0x127/0x12b
    [<ffffffff811dac41>] tty_release_dev+0x1ad/0x4c0
    ....
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    b67602a5
tty_ldisc.c 20.9 KB