Patchwork myri10ge: disable NAPI on failure to setup the interface

login
register
mail settings
Submitter Brice Goglin
Date Oct. 20, 2008, 11:54 a.m.
Message ID <48FC7164.8040002@myri.com>
Download mbox | patch
Permalink /patch/5064/
State Accepted
Delegated to: Jeff Garzik
Headers show

Comments

Brice Goglin - Oct. 20, 2008, 11:54 a.m.
Disable NAPI if a failure occurs when setting up the interface. Leaving
it enabled could cause a BUG the next time an ifconfig up is issued.

Signed-off-by: Brice Goglin <brice@myri.com>



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jeff Garzik - Oct. 21, 2008, 5:15 a.m.
Brice Goglin wrote:
> Disable NAPI if a failure occurs when setting up the interface. Leaving
> it enabled could cause a BUG the next time an ifconfig up is issued.
> 
> Signed-off-by: Brice Goglin <brice@myri.com>
> 
> --- linux-2.6/drivers/net/myri10ge/myri10ge.c	2008-10-20 08:36:48.000000000 +0200
> +++ linux-tmp/drivers/net/myri10ge/myri10ge.c	2008-10-20 13:47:21.000000000 +0200
> @@ -75,7 +75,7 @@
>  #include "myri10ge_mcp.h"
>  #include "myri10ge_mcp_gen_header.h"
>  
> -#define MYRI10GE_VERSION_STR "1.4.3-1.369"
> +#define MYRI10GE_VERSION_STR "1.4.3-1.371"
>  
>  MODULE_DESCRIPTION("Myricom 10G driver (10GbE)");
>  MODULE_AUTHOR("Maintainer: help@myri.com");
> @@ -2497,6 +2497,10 @@ static int myri10ge_open(struct net_devi
>  	return 0;
>  
>  abort_with_rings:
> +	while (slice) {
> +		slice--;
> +		napi_disable(&mgp->ss[slice].napi);
> +	}

applied


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

--- linux-2.6/drivers/net/myri10ge/myri10ge.c	2008-10-20 08:36:48.000000000 +0200
+++ linux-tmp/drivers/net/myri10ge/myri10ge.c	2008-10-20 13:47:21.000000000 +0200
@@ -75,7 +75,7 @@ 
 #include "myri10ge_mcp.h"
 #include "myri10ge_mcp_gen_header.h"
 
-#define MYRI10GE_VERSION_STR "1.4.3-1.369"
+#define MYRI10GE_VERSION_STR "1.4.3-1.371"
 
 MODULE_DESCRIPTION("Myricom 10G driver (10GbE)");
 MODULE_AUTHOR("Maintainer: help@myri.com");
@@ -2497,6 +2497,10 @@  static int myri10ge_open(struct net_devi
 	return 0;
 
 abort_with_rings:
+	while (slice) {
+		slice--;
+		napi_disable(&mgp->ss[slice].napi);
+	}
 	for (i = 0; i < mgp->num_slices; i++)
 		myri10ge_free_rings(&mgp->ss[i]);