• Ingo Molnar's avatar
    [PATCH] net, 8139too.c: fix netpoll deadlock · b57bd066
    Ingo Molnar authored
    fix deadlock in the 8139too driver: poll handlers should never forcibly
    enable local interrupts, because they might be used by netpoll/printk
    from IRQ context.
    
      =================================
      [ INFO: inconsistent lock state ]
      2.6.19 #11
      ---------------------------------
      inconsistent {softirq-on-W} -> {in-softirq-W} usage.
      swapper/1 [HC0[0]:SC1[1]:HE1:SE0] takes:
       (&npinfo->poll_lock){-+..}, at: [<c0350a41>] net_rx_action+0x64/0x1de
      {softirq-on-W} state was registered at:
        [<c0134c86>] mark_lock+0x5b/0x39c
        [<c0135012>] mark_held_locks+0x4b/0x68
        [<c01351e9>] trace_hardirqs_on+0x115/0x139
        [<c02879e6>] rtl8139_poll+0x3d7/0x3f4
        [<c035c85d>] netpoll_poll+0x82/0x32f
        [<c035c775>] netpoll_send_skb+0xc9/0x12f
        [<c035cdcc>] netpoll_send_udp+0x253/0x25b
        [<c0288463>] write_msg+0x40/0x65
        [<c011cead>] __call_console_drivers+0x45/0x51
        [<c011cf16>] _call_console_drivers+0x5d/0x61
        [<c011d4fb>] release_console_sem+0x11f...
    b57bd066
8139too.c 69.5 KB