Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 341896
b: refs/heads/master
c: 52285b7
h: refs/heads/master
v: v3
  • Loading branch information
Stefan Assmann authored and Jeff Kirsher committed Dec 7, 2012
1 parent 5124c80 commit 9d2ed7c
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 53c7d06418bdf2f20fc869b33e3a44bb770aff1e
refs/heads/master: 52285b762b3681669215bf1d17ca6143448ab7d3
22 changes: 16 additions & 6 deletions trunk/drivers/net/ethernet/intel/igb/igb_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -832,17 +832,18 @@ static int igb_request_msix(struct igb_adapter *adapter)
{
struct net_device *netdev = adapter->netdev;
struct e1000_hw *hw = &adapter->hw;
int i, err = 0, vector = 0;
int i, err = 0, vector = 0, free_vector = 0;

err = request_irq(adapter->msix_entries[vector].vector,
igb_msix_other, 0, netdev->name, adapter);
if (err)
goto out;
vector++;
goto err_out;

for (i = 0; i < adapter->num_q_vectors; i++) {
struct igb_q_vector *q_vector = adapter->q_vector[i];

vector++;

q_vector->itr_register = hw->hw_addr + E1000_EITR(vector);

if (q_vector->rx.ring && q_vector->tx.ring)
Expand All @@ -861,13 +862,22 @@ static int igb_request_msix(struct igb_adapter *adapter)
igb_msix_ring, 0, q_vector->name,
q_vector);
if (err)
goto out;
vector++;
goto err_free;
}

igb_configure_msix(adapter);
return 0;
out:

err_free:
/* free already assigned IRQs */
free_irq(adapter->msix_entries[free_vector++].vector, adapter);

vector--;
for (i = 0; i < vector; i++) {
free_irq(adapter->msix_entries[free_vector++].vector,
adapter->q_vector[i]);
}
err_out:
return err;
}

Expand Down

0 comments on commit 9d2ed7c

Please sign in to comment.