4871953c0e
The NETPOLL API requires that interrupts remain disabled in netpoll_send_skb(). The use of "A functions set" in the NETPOLL API callbacks causes the interrupts to get enabled and can lead to kernel instability. The solution is to use "B functions set" to prevent the irqs from getting enabled while in netpoll_send_skb(). A functions set: local_irq_disable()/local_irq_enable() spin_lock_irq()/spin_unlock_irq() spin_trylock_irq()/spin_unlock_irq() B functions set: local_irq_save()/local_irq_restore() spin_lock_irqsave()/spin_unlock_irqrestore() spin_trylock_irqsave()/spin_unlock_irqrestore() Signed-off-by: Dongdong Deng <dongdong.deng@windriver.com> Acked-by: Matt Mackall <mpm@selenic.com> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
---|---|---|
.. | ||
alloc.c | ||
catas.c | ||
cmd.c | ||
cq.c | ||
en_cq.c | ||
en_ethtool.c | ||
en_main.c | ||
en_netdev.c | ||
en_port.c | ||
en_port.h | ||
en_resources.c | ||
en_rx.c | ||
en_tx.c | ||
eq.c | ||
fw.c | ||
fw.h | ||
icm.c | ||
icm.h | ||
intf.c | ||
main.c | ||
Makefile | ||
mcg.c | ||
mlx4_en.h | ||
mlx4.h | ||
mr.c | ||
pd.c | ||
port.c | ||
profile.c | ||
qp.c | ||
reset.c | ||
sense.c | ||
srq.c |