summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/tg3
diff options
context:
space:
mode:
authorLeendert van Doorn2016-06-13 15:14:42 +0200
committerMichael Brown2016-06-13 16:14:43 +0200
commit02d5cfff22e3796f3ecf0b4b93519f952223fd89 (patch)
treef7e9e053179dd29a9b30bcbab1b157f623b94105 /src/drivers/net/tg3
parent[tcp] Send TCP keepalives on idle established connections (diff)
downloadipxe-02d5cfff22e3796f3ecf0b4b93519f952223fd89.tar.gz
ipxe-02d5cfff22e3796f3ecf0b4b93519f952223fd89.tar.xz
ipxe-02d5cfff22e3796f3ecf0b4b93519f952223fd89.zip
[tg3] Add missing memory barrier
ARM64 has a weaker memory order model than x86. The missing memory barrier caused phy initialization notification to be delayed beyond the link-wait timeout (15 secs). Signed-off-by: Leendert van Doorn <leendert@paramecium.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/tg3')
-rw-r--r--src/drivers/net/tg3/tg3.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/drivers/net/tg3/tg3.c b/src/drivers/net/tg3/tg3.c
index 824c9b1c..1bed0664 100644
--- a/src/drivers/net/tg3/tg3.c
+++ b/src/drivers/net/tg3/tg3.c
@@ -486,6 +486,8 @@ static void tg3_poll(struct net_device *dev)
*/
tp->hw_status->status &= ~SD_STATUS_UPDATED;
+ mb();
+
tg3_poll_link(tp);
tg3_tx_complete(dev);
tg3_rx_complete(dev);