Package: src:linux
Version: 3.11.5-1
Severity: grave
Tags: patch

Subject kind of says it all. My system freezes solidly as soon as I ifup the
network interface. Please see e.g.
http://www.spinics.net/lists/netdev/msg251287.html for more details.

Attached patch from mentioned URL fixes the problem for me. I haven't checked
if kernel devs used the same patch, though.

Michael
Description: prevent freeze in velocity based networking
Origin: http://www.spinics.net/lists/netdev/msg251312.html

--- linux-3.11.5.orig/drivers/net/ethernet/via/via-velocity.c
+++ linux-3.11.5/drivers/net/ethernet/via/via-velocity.c
@@ -2172,14 +2172,12 @@ static int velocity_poll(struct napi_str
 	unsigned int rx_done;
 	unsigned long flags;
 
-	spin_lock_irqsave(&vptr->lock, flags);
 	/*
 	 * Do rx and tx twice for performance (taken from the VIA
 	 * out-of-tree driver).
 	 */
-	rx_done = velocity_rx_srv(vptr, budget / 2);
-	velocity_tx_srv(vptr);
-	rx_done += velocity_rx_srv(vptr, budget - rx_done);
+	rx_done = velocity_rx_srv(vptr, budget);
+	spin_lock_irqsave(&vptr->lock, flags);
 	velocity_tx_srv(vptr);
 
 	/* If budget not fully consumed, exit the polling mode */

Reply via email to