diff options
author | Brice Goglin <brice@myri.com> | 2008-10-20 07:54:12 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-10-22 06:22:11 -0400 |
commit | 051d36f3fbd013a73cb42a6762e5bf339a3732aa (patch) | |
tree | b41728862789049361cb4f9e9004b60d2fee18ea | |
parent | cde0d910b9185519f7f2cfe015f9039e02c2f25b (diff) |
myri10ge: disable NAPI on failure to setup the interface
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>
-rw-r--r-- | drivers/net/myri10ge/myri10ge.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index a9aebad52652..b1556b2e404c 100644 --- a/drivers/net/myri10ge/myri10ge.c +++ b/drivers/net/myri10ge/myri10ge.c | |||
@@ -75,7 +75,7 @@ | |||
75 | #include "myri10ge_mcp.h" | 75 | #include "myri10ge_mcp.h" |
76 | #include "myri10ge_mcp_gen_header.h" | 76 | #include "myri10ge_mcp_gen_header.h" |
77 | 77 | ||
78 | #define MYRI10GE_VERSION_STR "1.4.3-1.369" | 78 | #define MYRI10GE_VERSION_STR "1.4.3-1.371" |
79 | 79 | ||
80 | MODULE_DESCRIPTION("Myricom 10G driver (10GbE)"); | 80 | MODULE_DESCRIPTION("Myricom 10G driver (10GbE)"); |
81 | MODULE_AUTHOR("Maintainer: help@myri.com"); | 81 | MODULE_AUTHOR("Maintainer: help@myri.com"); |
@@ -2497,6 +2497,10 @@ static int myri10ge_open(struct net_device *dev) | |||
2497 | return 0; | 2497 | return 0; |
2498 | 2498 | ||
2499 | abort_with_rings: | 2499 | abort_with_rings: |
2500 | while (slice) { | ||
2501 | slice--; | ||
2502 | napi_disable(&mgp->ss[slice].napi); | ||
2503 | } | ||
2500 | for (i = 0; i < mgp->num_slices; i++) | 2504 | for (i = 0; i < mgp->num_slices; i++) |
2501 | myri10ge_free_rings(&mgp->ss[i]); | 2505 | myri10ge_free_rings(&mgp->ss[i]); |
2502 | 2506 | ||