mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 15:11:16 +00:00
Revert "[NET]: Fix races in net_rx_action vs netpoll."
This reverts commit 29578624e3
.
Ingo Molnar reports complete breakage with his e1000 card (no
networking, card reports transmit timeouts), and bisected it down to
this commit. Let's figure out what went wrong, but not keep breaking
machines until we do.
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Olaf Kirch <olaf.kirch@oracle.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
c2dc1ad582
commit
2e27afb300
2 changed files with 0 additions and 18 deletions
|
@ -124,13 +124,6 @@ static void poll_napi(struct netpoll *np)
|
|||
if (test_bit(__LINK_STATE_RX_SCHED, &np->dev->state) &&
|
||||
npinfo->poll_owner != smp_processor_id() &&
|
||||
spin_trylock(&npinfo->poll_lock)) {
|
||||
/* When calling dev->poll from poll_napi, we may end up in
|
||||
* netif_rx_complete. However, only the CPU to which the
|
||||
* device was queued is allowed to remove it from poll_list.
|
||||
* Setting POLL_LIST_FROZEN tells netif_rx_complete
|
||||
* to leave the NAPI state alone.
|
||||
*/
|
||||
set_bit(__LINK_STATE_POLL_LIST_FROZEN, &np->dev->state);
|
||||
npinfo->rx_flags |= NETPOLL_RX_DROP;
|
||||
atomic_inc(&trapped);
|
||||
|
||||
|
@ -138,7 +131,6 @@ static void poll_napi(struct netpoll *np)
|
|||
|
||||
atomic_dec(&trapped);
|
||||
npinfo->rx_flags &= ~NETPOLL_RX_DROP;
|
||||
clear_bit(__LINK_STATE_POLL_LIST_FROZEN, &np->dev->state);
|
||||
spin_unlock(&npinfo->poll_lock);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue