e1000: add mmiowb() for IA64 to sync tail writes
IA64 SMP systems were seeing TX issues with multiple cpu's attempting to write tail registers unordered. This mmiowb() fixes the issue. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
This commit is contained in:
parent
21c4d5e078
commit
2ce9047f5d
1 changed files with 3 additions and 0 deletions
|
@ -2867,6 +2867,9 @@ e1000_tx_queue(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
|
|||
|
||||
tx_ring->next_to_use = i;
|
||||
writel(i, adapter->hw.hw_addr + tx_ring->tdt);
|
||||
/* we need this if more than one processor can write to our tail
|
||||
* at a time, it syncronizes IO on IA64/Altix systems */
|
||||
mmiowb();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue