b43: Add RX side DMA memory barrier
authorMichael Büsch <m@bues.ch>
Mon, 4 Jul 2011 17:51:11 +0000 (19:51 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 5 Jul 2011 19:26:59 +0000 (15:26 -0400)
This adds a memory barrier to ensure the writes to the ring memory
are committed before the DMA ring pointer is updated.
We do a similar thing on the TX side already.

Signed-off-by: Michael Buesch <m@bues.ch>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/dma.c

index d02cf8300e3eee0407c0dcf4dec5b2e18de55d86..7a09a467339c825fd078218e10e8f0b2723b7d0c 100644 (file)
@@ -1600,6 +1600,7 @@ void b43_dma_rx(struct b43_dmaring *ring)
                dma_rx(ring, &slot);
                update_max_used_slots(ring, ++used_slots);
        }
+       wmb();
        ops->set_current_rxslot(ring, slot);
        ring->current_slot = slot;
 }