summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrice Goglin <brice@myri.com>2008-05-09 02:18:45 +0200
committerJeff Garzik <jgarzik@redhat.com>2008-05-13 07:30:28 +0200
commitbd2db0cf2411ebc081d45bde1b7c6cf726b832f2 (patch)
tree9c6ad67df7c065e935e9c03e926a4d605ac6d8b2
parentmyri10ge: report FIBER in ethtool for XFP based NIC (diff)
downloadlinux-bd2db0cf2411ebc081d45bde1b7c6cf726b832f2.tar.xz
linux-bd2db0cf2411ebc081d45bde1b7c6cf726b832f2.zip
myri10ge: add barrier in myri10ge_send_cmd
Add a barrier() in the usleep() loop in myri10ge_send_cmd(). Without the barrier, some mips machine never notices that the firmware has DMA'ed the response. Signed-off-by: Brice Goglin <brice@myri.com> Signed-off-by: Andrew Gallatin <gallatin@myri.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r--drivers/net/myri10ge/myri10ge.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index 4a65e4155c0f..48fe624afa53 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -361,8 +361,10 @@ myri10ge_send_cmd(struct myri10ge_priv *mgp, u32 cmd,
for (sleep_total = 0;
sleep_total < 1000
&& response->result == htonl(MYRI10GE_NO_RESPONSE_RESULT);
- sleep_total += 10)
+ sleep_total += 10) {
udelay(10);
+ mb();
+ }
} else {
/* use msleep for most command */
for (sleep_total = 0;