Messages in this thread | | | Subject | Re: [PATCH] drivers/net: fixed drivers that support netpoll use ndo_start_xmit() | From | DDD <> | Date | Tue, 18 Aug 2009 13:59:26 +0800 |
| |
On Fri, 2009-08-14 at 16:32 -0700, David Miller wrote: > From: Matt Mackall <mpm@selenic.com> > Date: Fri, 14 Aug 2009 10:33:39 -0500 > > > On Fri, 2009-08-14 at 13:12 +0800, DDD wrote: > >> The NETPOLL API requires that interrupts remain disabled in > >> netpoll_send_skb(). The use of spin_lock_irq() and > spin_unlock_irq() > >> in the NETPOLL API callbacks causes the interrupts to get enabled > and > >> can lead to kernel instability. > >> > >> The solution is to use spin_lock_irqsave() and > spin_unlock_restore() > >> to prevent the irqs from getting enabled while in > netpoll_send_skb(). > ... > >> Signed-off-by: Dongdong Deng <dongdong.deng@windriver.com> > >> Signed-off-by: Jason Wessel <jason.wessel@windriver.com> > >> Acked-by: Bruce Ashfield <bruce.ashfield@windriver.com> > > > > Acked-by: Matt Mackall <mpm@selenic.com> > > Applied, thanks everyone. Thanks. :-)
> > > Perhaps we should also have a WARN_ONCE if start_xmit returns with > > interrupts enabled? > > Probably a good idea. I think it is a good idea too, thanks for your suggestion, Matt. I will do a tiny patch for it shortly.
Dongdong
| |