From: David S. Miller Date: Tue, 30 Oct 2007 04:28:47 +0000 (-0700) Subject: [NET]: Fix race between poll_napi() and net_rx_action() X-Git-Tag: v2.6.24-rc2~79^2~8 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a7606c121d58c1831805262c5b764e181429e7d;p=pandora-kernel.git [NET]: Fix race between poll_napi() and net_rx_action() netpoll_poll_lock() synchronizes the ->poll() invocation code paths, but once we have the lock we have to make sure that NAPI_STATE_SCHED is still set. Otherwise we get: cpu 0 cpu 1 net_rx_action() poll_napi() netpoll_poll_lock() ... spin on ->poll_lock ->poll() netif_rx_complete netpoll_poll_unlock() acquire ->poll_lock() ->poll() netif_rx_complete() CRASH Based upon a bug report from Tina Yang. Signed-off-by: David S. Miller --- Reading git-diff-tree failed