Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 298747
b: refs/heads/master
c: bf03085
h: refs/heads/master
i:
  298745: 0fd06db
  298743: 9a6b4e2
v: v3
  • Loading branch information
Matthew Vick authored and Jeff Kirsher committed Apr 3, 2012
1 parent daa6b36 commit 8d4ad1a
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bb9e44d0d0f45da356c39e485edacff6e14ba961
refs/heads/master: bf03085f85112eac2d19036ea3003071220285bb
17 changes: 17 additions & 0 deletions trunk/drivers/net/ethernet/intel/e1000e/netdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1059,6 +1059,13 @@ static void e1000_print_hw_hang(struct work_struct *work)
ew32(TIDV, adapter->tx_int_delay | E1000_TIDV_FPD);
/* execute the writes immediately */
e1e_flush();
/*
* Due to rare timing issues, write to TIDV again to ensure
* the write is successful
*/
ew32(TIDV, adapter->tx_int_delay | E1000_TIDV_FPD);
/* execute the writes immediately */
e1e_flush();
adapter->tx_hang_recheck = true;
return;
}
Expand Down Expand Up @@ -3616,6 +3623,16 @@ static void e1000e_flush_descriptors(struct e1000_adapter *adapter)

/* execute the writes immediately */
e1e_flush();

/*
* due to rare timing issues, write to TIDV/RDTR again to ensure the
* write is successful
*/
ew32(TIDV, adapter->tx_int_delay | E1000_TIDV_FPD);
ew32(RDTR, adapter->rx_int_delay | E1000_RDTR_FPD);

/* execute the writes immediately */
e1e_flush();
}

static void e1000e_update_stats(struct e1000_adapter *adapter);
Expand Down

0 comments on commit 8d4ad1a

Please sign in to comment.