drivers/net: using spin_lock_irqsave() in net_send_packet()
authorDongdong Deng <dongdong.deng@windriver.com>
Sun, 12 Jul 2009 20:27:06 +0000 (20:27 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Jul 2009 19:03:41 +0000 (12:03 -0700)
commit79fbe134832ebb70a49d8802cfeb2401dc35bb38
tree52e810d78f6357826b83963286b1fcd9d53bd882
parentbc23283c7bc90958927abe26eedc562701743a88
drivers/net: using spin_lock_irqsave() in net_send_packet()

spin_unlock_irq() will enable interrupt in net_send_packet(),
this patch changes it to spin_lock_irqsave/spin_lock_irqrestore,
so that it doesn't enable interrupts when already disabled,
and netconsole would work properly over cs89x0/isa-skeleton.

Call trace:
netconsole write_msg()
{
 ...
 -> spin_lock_irqsave();
        -> netpoll_send_udp()
          -> netpoll_send_skb()
            -> net_send_packet()
              ->...

 -> spin_unlock_irqrestore();
 ...
}

Signed-off-by: Dongdong Deng <dongdong.deng@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/cs89x0.c
drivers/net/isa-skeleton.c