diff options
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r-- | drivers/net/bnx2.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index 6fa798468ad4..44aed3b0da60 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -6096,7 +6096,7 @@ bnx2_request_irq(struct bnx2 *bp) | |||
6096 | } | 6096 | } |
6097 | 6097 | ||
6098 | static void | 6098 | static void |
6099 | bnx2_free_irq(struct bnx2 *bp) | 6099 | __bnx2_free_irq(struct bnx2 *bp) |
6100 | { | 6100 | { |
6101 | struct bnx2_irq *irq; | 6101 | struct bnx2_irq *irq; |
6102 | int i; | 6102 | int i; |
@@ -6107,6 +6107,13 @@ bnx2_free_irq(struct bnx2 *bp) | |||
6107 | free_irq(irq->vector, &bp->bnx2_napi[i]); | 6107 | free_irq(irq->vector, &bp->bnx2_napi[i]); |
6108 | irq->requested = 0; | 6108 | irq->requested = 0; |
6109 | } | 6109 | } |
6110 | } | ||
6111 | |||
6112 | static void | ||
6113 | bnx2_free_irq(struct bnx2 *bp) | ||
6114 | { | ||
6115 | |||
6116 | __bnx2_free_irq(bp); | ||
6110 | if (bp->flags & BNX2_FLAG_USING_MSI) | 6117 | if (bp->flags & BNX2_FLAG_USING_MSI) |
6111 | pci_disable_msi(bp->pdev); | 6118 | pci_disable_msi(bp->pdev); |
6112 | else if (bp->flags & BNX2_FLAG_USING_MSIX) | 6119 | else if (bp->flags & BNX2_FLAG_USING_MSIX) |
@@ -7092,6 +7099,7 @@ bnx2_change_ring_size(struct bnx2 *bp, u32 rx, u32 tx) | |||
7092 | 7099 | ||
7093 | bnx2_netif_stop(bp, true); | 7100 | bnx2_netif_stop(bp, true); |
7094 | bnx2_reset_chip(bp, BNX2_DRV_MSG_CODE_RESET); | 7101 | bnx2_reset_chip(bp, BNX2_DRV_MSG_CODE_RESET); |
7102 | __bnx2_free_irq(bp); | ||
7095 | bnx2_free_skbs(bp); | 7103 | bnx2_free_skbs(bp); |
7096 | bnx2_free_mem(bp); | 7104 | bnx2_free_mem(bp); |
7097 | } | 7105 | } |
@@ -7104,6 +7112,9 @@ bnx2_change_ring_size(struct bnx2 *bp, u32 rx, u32 tx) | |||
7104 | 7112 | ||
7105 | rc = bnx2_alloc_mem(bp); | 7113 | rc = bnx2_alloc_mem(bp); |
7106 | if (!rc) | 7114 | if (!rc) |
7115 | rc = bnx2_request_irq(bp); | ||
7116 | |||
7117 | if (!rc) | ||
7107 | rc = bnx2_init_nic(bp, 0); | 7118 | rc = bnx2_init_nic(bp, 0); |
7108 | 7119 | ||
7109 | if (rc) { | 7120 | if (rc) { |