Skip to content

Commit 85eb39b

Browse files
gscuianguy11
authored andcommitted
intel/igbvf: free irq on the error path in igbvf_request_msix()
In igbvf_request_msix(), irqs have not been freed on the err path, we need to free it. Fix it. Fixes: d4e0fe0 ("igbvf: add new driver to support 82576 virtual functions") Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com> Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com> Tested-by: Marek Szlosek <marek.szlosek@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
1 parent 50f3034 commit 85eb39b

File tree

1 file changed

+6
-2
lines changed
  • drivers/net/ethernet/intel/igbvf

1 file changed

+6
-2
lines changed

drivers/net/ethernet/intel/igbvf/netdev.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,7 +1074,7 @@ static int igbvf_request_msix(struct igbvf_adapter *adapter)
10741074
igbvf_intr_msix_rx, 0, adapter->rx_ring->name,
10751075
netdev);
10761076
if (err)
1077-
goto out;
1077+
goto free_irq_tx;
10781078

10791079
adapter->rx_ring->itr_register = E1000_EITR(vector);
10801080
adapter->rx_ring->itr_val = adapter->current_itr;
@@ -1083,10 +1083,14 @@ static int igbvf_request_msix(struct igbvf_adapter *adapter)
10831083
err = request_irq(adapter->msix_entries[vector].vector,
10841084
igbvf_msix_other, 0, netdev->name, netdev);
10851085
if (err)
1086-
goto out;
1086+
goto free_irq_rx;
10871087

10881088
igbvf_configure_msix(adapter);
10891089
return 0;
1090+
free_irq_rx:
1091+
free_irq(adapter->msix_entries[--vector].vector, netdev);
1092+
free_irq_tx:
1093+
free_irq(adapter->msix_entries[--vector].vector, netdev);
10901094
out:
10911095
return err;
10921096
}

0 commit comments

Comments
 (0)