myri10ge: disable NAPI on failure to setup the interface
authorBrice Goglin <brice@myri.com>
Mon, 20 Oct 2008 11:54:12 +0000 (13:54 +0200)
committerJeff Garzik <jgarzik@redhat.com>
Wed, 22 Oct 2008 10:22:11 +0000 (06:22 -0400)
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>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/myri10ge/myri10ge.c

index a9aebad526528d369798dd88b051aa90a26ec6ec..b1556b2e404c5619b445f6a287a07adc6503ee01 100644 (file)
@@ -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_device *dev)
        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]);