diff options
| -rw-r--r-- | drivers/net/bnx2x_main.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 398daeb5be90..1c81da45f691 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c | |||
| @@ -6341,7 +6341,7 @@ static int bnx2x_nic_load(struct bnx2x *bp, int load_mode) | |||
| 6341 | rc = bnx2x_init_hw(bp, load_code); | 6341 | rc = bnx2x_init_hw(bp, load_code); |
| 6342 | if (rc) { | 6342 | if (rc) { |
| 6343 | BNX2X_ERR("HW init failed, aborting\n"); | 6343 | BNX2X_ERR("HW init failed, aborting\n"); |
| 6344 | goto load_error; | 6344 | goto load_int_disable; |
| 6345 | } | 6345 | } |
| 6346 | 6346 | ||
| 6347 | /* Setup NIC internals and enable interrupts */ | 6347 | /* Setup NIC internals and enable interrupts */ |
| @@ -6353,7 +6353,7 @@ static int bnx2x_nic_load(struct bnx2x *bp, int load_mode) | |||
| 6353 | if (!load_code) { | 6353 | if (!load_code) { |
| 6354 | BNX2X_ERR("MCP response failure, aborting\n"); | 6354 | BNX2X_ERR("MCP response failure, aborting\n"); |
| 6355 | rc = -EBUSY; | 6355 | rc = -EBUSY; |
| 6356 | goto load_int_disable; | 6356 | goto load_rings_free; |
| 6357 | } | 6357 | } |
| 6358 | } | 6358 | } |
| 6359 | 6359 | ||
| @@ -6372,7 +6372,7 @@ static int bnx2x_nic_load(struct bnx2x *bp, int load_mode) | |||
| 6372 | rc = bnx2x_setup_leading(bp); | 6372 | rc = bnx2x_setup_leading(bp); |
| 6373 | if (rc) { | 6373 | if (rc) { |
| 6374 | BNX2X_ERR("Setup leading failed!\n"); | 6374 | BNX2X_ERR("Setup leading failed!\n"); |
| 6375 | goto load_stop_netif; | 6375 | goto load_netif_stop; |
| 6376 | } | 6376 | } |
| 6377 | 6377 | ||
| 6378 | if (CHIP_IS_E1H(bp)) | 6378 | if (CHIP_IS_E1H(bp)) |
| @@ -6385,7 +6385,7 @@ static int bnx2x_nic_load(struct bnx2x *bp, int load_mode) | |||
| 6385 | for_each_nondefault_queue(bp, i) { | 6385 | for_each_nondefault_queue(bp, i) { |
| 6386 | rc = bnx2x_setup_multi(bp, i); | 6386 | rc = bnx2x_setup_multi(bp, i); |
| 6387 | if (rc) | 6387 | if (rc) |
| 6388 | goto load_stop_netif; | 6388 | goto load_netif_stop; |
| 6389 | } | 6389 | } |
| 6390 | 6390 | ||
| 6391 | if (CHIP_IS_E1(bp)) | 6391 | if (CHIP_IS_E1(bp)) |
| @@ -6430,20 +6430,18 @@ static int bnx2x_nic_load(struct bnx2x *bp, int load_mode) | |||
| 6430 | 6430 | ||
| 6431 | return 0; | 6431 | return 0; |
| 6432 | 6432 | ||
| 6433 | load_stop_netif: | 6433 | load_netif_stop: |
| 6434 | for_each_queue(bp, i) | 6434 | for_each_queue(bp, i) |
| 6435 | napi_disable(&bnx2x_fp(bp, i, napi)); | 6435 | napi_disable(&bnx2x_fp(bp, i, napi)); |
| 6436 | 6436 | load_rings_free: | |
| 6437 | load_int_disable: | ||
| 6438 | bnx2x_int_disable_sync(bp); | ||
| 6439 | |||
| 6440 | /* Release IRQs */ | ||
| 6441 | bnx2x_free_irq(bp); | ||
| 6442 | |||
| 6443 | /* Free SKBs, SGEs, TPA pool and driver internals */ | 6437 | /* Free SKBs, SGEs, TPA pool and driver internals */ |
| 6444 | bnx2x_free_skbs(bp); | 6438 | bnx2x_free_skbs(bp); |
| 6445 | for_each_queue(bp, i) | 6439 | for_each_queue(bp, i) |
| 6446 | bnx2x_free_rx_sge_range(bp, bp->fp + i, NUM_RX_SGE); | 6440 | bnx2x_free_rx_sge_range(bp, bp->fp + i, NUM_RX_SGE); |
| 6441 | load_int_disable: | ||
| 6442 | bnx2x_int_disable_sync(bp); | ||
| 6443 | /* Release IRQs */ | ||
| 6444 | bnx2x_free_irq(bp); | ||
| 6447 | load_error: | 6445 | load_error: |
| 6448 | bnx2x_free_mem(bp); | 6446 | bnx2x_free_mem(bp); |
| 6449 | 6447 | ||
