• Andrew Morton's avatar
    [NETPOLL]: Fix local_bh_enable() warning. · a49f99ff
    Andrew Morton authored
    During boot we get:
    
    netconsole: device eth0 not up yet, forcing it
    e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex
    WARNING (!__warned) at kernel/softirq.c:137 local_bh_enable()
    
    Call Trace:
     [<ffffffff80235baf>] local_bh_enable+0x41/0xa3
     [<ffffffff8045ab8e>] netpoll_send_skb+0x116/0x144
     [<ffffffff8045b1ee>] netpoll_send_udp+0x263/0x271
     [<ffffffff803d41ec>] write_msg+0x42/0x5e
     [<ffffffff80230c9b>] __call_console_drivers+0x5f/0x70
     [<ffffffff80230d19>] _call_console_drivers+0x6d/0x71
     [<ffffffff802313f0>] release_console_sem+0x148/0x1ec
     [<ffffffff802316ce>] register_console+0x1b1/0x1ba
     [<ffffffff803d4178>] init_netconsole+0x54/0x68
     [<ffffffff802071ae>] init+0x152/0x308
     [<ffffffff804dac8b>] _spin_unlock_irq+0x14/0x30
     [<ffffffff8022c15e>] schedule_tail+0x43/0x9f
     [<ffffffff8020a758>] child_rip+0xa/0x12
    
    Herbert sayeth:
    
      Normally networking isn't invoked with interrupts turned off, but I
      suppose we don't have a choice here.  This is unique being a place where you
      can get called with BH on, off, or IRQs off.
    
      Given that this is only used for printk, the easiest solution is probably
      just to disable local IRQs instead of BH.
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a49f99ff
netpoll.c 18.3 KB