Thread (9 messages) flat view 9 messages, 4 authors, 2009-08-24

Re: [PATCH 2/2] drivers/net: fixed drivers that support netpoll use ndo_start_xmit()

From: Matt Mackall <hidden>
Date: 2009-08-21 15:27:07
Also in: lkml

On Fri, 2009-08-21 at 21:34 +0800, DDD wrote:
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 <redacted>
Both of these look good to me, thanks.

Acked-by: Matt Mackall <redacted>

-- 
http://selenic.com : development and support for Mercurial and Linux
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help