projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3bfacf9
)
igb: Use irq_synchronize per vector when using MSI-X
author
Emil Tantilov
<
[email protected]
>
Mon, 2 Aug 2010 14:40:52 +0000
(14:40 +0000)
committer
David S. Miller
<
[email protected]
>
Tue, 3 Aug 2010 04:20:22 +0000
(21:20 -0700)
Synchronize all IRQs when using MSI-X. Similar to ixgbe.
Issue was reported on e1000e, but the patch is also valid for igb.
CC: Jean Delvare <
[email protected]
>
Signed-off-by: Emil Tantilov <
[email protected]
>
Tested-by: Jeff Pieper <
[email protected]
>
Signed-off-by: Jeff Kirsher <
[email protected]
>
Signed-off-by: David S. Miller <
[email protected]
>
drivers/net/igb/igb_main.c
patch
|
blob
|
history
diff --git
a/drivers/net/igb/igb_main.c
b/drivers/net/igb/igb_main.c
index 667b527b031292d4257e6d3bbe1306dc138d89cb..df5dcd23e4fcb408384c0991057305a23e41a4f7 100644
(file)
--- a/
drivers/net/igb/igb_main.c
+++ b/
drivers/net/igb/igb_main.c
@@
-1290,7
+1290,13
@@
static void igb_irq_disable(struct igb_adapter *adapter)
wr32(E1000_IAM, 0);
wr32(E1000_IMC, ~0);
wrfl();
- synchronize_irq(adapter->pdev->irq);
+ if (adapter->msix_entries) {
+ int i;
+ for (i = 0; i < adapter->num_q_vectors; i++)
+ synchronize_irq(adapter->msix_entries[i].vector);
+ } else {
+ synchronize_irq(adapter->pdev->irq);
+ }
}
/**