bnx2x: use smp_mb() to keep ordering of read write operations
authorStanislaw Gruszka <sgruszka@redhat.com>
Tue, 9 Mar 2010 06:55:00 +0000 (06:55 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 15 Mar 2010 22:47:00 +0000 (15:47 -0700)
Since we want to keep ordering of write to fp->bd_tx_cons and
netif_tx_queue_stopped(txq), what is read of txq->state, we have to use
general memory barrier.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2x_main.c

index ed785a30e98bbcadaa0de666d6763c0608f221fc..9fc0f6a7a5e9c0c571904a4e5608f3c3eca13a13 100644 (file)
@@ -963,7 +963,7 @@ static int bnx2x_tx_int(struct bnx2x_fastpath *fp)
         * start_xmit() will miss it and cause the queue to be stopped
         * forever.
         */
-       smp_wmb();
+       smp_mb();
 
        /* TBD need a thresh? */
        if (unlikely(netif_tx_queue_stopped(txq))) {