Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2739a8bb authored by Michael Chan's avatar Michael Chan Committed by David S. Miller
Browse files

bnx2: Cleanup error handling in bnx2_open().



All error handling in bnx2_open() can be consolidated.

Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
Signed-off-by: default avatarBenjamin Li <benli@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5e9ad9e1
Loading
Loading
Loading
Loading
+14 −23
Original line number Diff line number Diff line
@@ -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