Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 327742
b: refs/heads/master
c: bc76329
h: refs/heads/master
v: v3
  • Loading branch information
Bruce Allan authored and Jeff Kirsher committed Aug 31, 2012
1 parent 811a55d commit 71f81e3
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 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: efc38d2af55d80b4420dab71f6634ad7aa34a38c
refs/heads/master: bc76329d4a788b1c5f2de7208b2fae4e9204223c
10 changes: 9 additions & 1 deletion trunk/drivers/net/ethernet/intel/e1000e/netdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -3746,6 +3746,10 @@ static irqreturn_t e1000_intr_msi_test(int irq, void *data)
e_dbg("icr is %08X\n", icr);
if (icr & E1000_ICR_RXSEQ) {
adapter->flags &= ~FLAG_MSI_TEST_FAILED;
/*
* Force memory writes to complete before acknowledging the
* interrupt is handled.
*/
wmb();
}

Expand Down Expand Up @@ -3787,6 +3791,10 @@ static int e1000_test_msi_interrupt(struct e1000_adapter *adapter)
goto msi_test_failed;
}

/*
* Force memory writes to complete before enabling and firing an
* interrupt.
*/
wmb();

e1000_irq_enable(adapter);
Expand All @@ -3798,7 +3806,7 @@ static int e1000_test_msi_interrupt(struct e1000_adapter *adapter)

e1000_irq_disable(adapter);

rmb();
rmb(); /* read flags after interrupt has been fired */

if (adapter->flags & FLAG_MSI_TEST_FAILED) {
adapter->int_mode = E1000E_INT_MODE_LEGACY;
Expand Down

0 comments on commit 71f81e3

Please sign in to comment.