From c7f439e9e5320648ef61f5cca113880e2de56ace Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Thu, 19 Jun 2008 16:44:10 -0700 Subject: [PATCH] --- yaml --- r: 103077 b: refs/heads/master c: 2739a8bb5b13653999827da09565b1bca5cec67d h: refs/heads/master i: 103075: 9362a52446d7d379d40debab6670fc1cbe95a2d1 v: v3 --- [refs] | 2 +- trunk/drivers/net/bnx2.c | 37 ++++++++++++++----------------------- 2 files changed, 15 insertions(+), 24 deletions(-) diff --git a/[refs] b/[refs] index bac394a9e49c..67eccc9f8844 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5e9ad9e108883503fedfac3279ac101dce00bb56 +refs/heads/master: 2739a8bb5b13653999827da09565b1bca5cec67d diff --git a/trunk/drivers/net/bnx2.c b/trunk/drivers/net/bnx2.c index 3b907196ca48..d4be23804933 100644 --- a/trunk/drivers/net/bnx2.c +++ b/trunk/drivers/net/bnx2.c @@ -5773,29 +5773,16 @@ bnx2_open(struct net_device *dev) bnx2_setup_int_mode(bp, disable_msi); bnx2_napi_enable(bp); rc = bnx2_alloc_mem(bp); - if (rc) { - bnx2_napi_disable(bp); - bnx2_free_mem(bp); - return rc; - } + if (rc) + goto open_err; rc = bnx2_request_irq(bp); - - if (rc) { - bnx2_napi_disable(bp); - bnx2_free_mem(bp); - return rc; - } + if (rc) + goto open_err; rc = bnx2_init_nic(bp, 1); - - if (rc) { - bnx2_napi_disable(bp); - bnx2_free_irq(bp); - bnx2_free_skbs(bp); - bnx2_free_mem(bp); - return rc; - } + if (rc) + goto open_err; mod_timer(&bp->timer, jiffies + bp->current_interval); @@ -5825,11 +5812,8 @@ bnx2_open(struct net_device *dev) rc = bnx2_request_irq(bp); if (rc) { - bnx2_napi_disable(bp); - bnx2_free_skbs(bp); - bnx2_free_mem(bp); del_timer_sync(&bp->timer); - return rc; + goto open_err; } bnx2_enable_int(bp); } @@ -5842,6 +5826,13 @@ bnx2_open(struct net_device *dev) netif_start_queue(dev); return 0; + +open_err: + bnx2_napi_disable(bp); + bnx2_free_skbs(bp); + bnx2_free_irq(bp); + bnx2_free_mem(bp); + return rc; } static void