myri10ge: fix stop/go mmio ordering
Subsystems (2)
PATCH 1/1 myri10ge: fix stop/go mmio ordering
Use mmiowb() to ensure "stop" and "go" commands are sent in order on ia64.
Signed-off-by Brice Goglin <[email protected]>
drivers/net/myri10ge/myri10ge.c +3 -1
@@ -75,7 +75,7 @@#include "myri10ge_mcp.h" #include "myri10ge_mcp_gen_header.h" -#define MYRI10GE_VERSION_STR "1.4.3-1.374" +#define MYRI10GE_VERSION_STR "1.4.3-1.375"MODULE_DESCRIPTION ("Myricom 10G driver (10GbE)" );MODULE_AUTHOR ("Maintainer: [email protected]" );
@@ -1393,6 +1393,7 @@if (tx->req == tx->done) { tx->queue_active =0 ;put_be32 (htonl (1 ), tx->send_stop); +mmiowb (); }__netif_tx_unlock (dev_queue); }
@@ -2864,6 +2865,7 @@if ((mgp->dev->real_num_tx_queues >1 ) && tx->queue_active ==0 ) { tx->queue_active =1 ;put_be32 (htonl (1 ), tx->send_go); +mmiowb (); } tx->pkt_start++;if ((avail - count) <MXGEFW_MAX_SEND_DESC ) {