summaryrefslogtreecommitdiffstats
path: root/drivers/net/spider_net.c
diff options
context:
space:
mode:
authorLinas Vepstas2006-12-13 22:22:04 +0100
committerJeff Garzik2007-02-05 22:58:45 +0100
commit90476a20fa4742c827b437d9814a51d06c153884 (patch)
tree7f2e1027c570eb0f0d32ecc5409223a43ba24b92 /drivers/net/spider_net.c
parentSpidernet RX Chain tail (diff)
downloadkernel-qcow2-linux-90476a20fa4742c827b437d9814a51d06c153884.tar.gz
kernel-qcow2-linux-90476a20fa4742c827b437d9814a51d06c153884.tar.xz
kernel-qcow2-linux-90476a20fa4742c827b437d9814a51d06c153884.zip
Spidernet Memory barrier
Add memory barrier to make sure that the rest of the RX descriptor state is flushed to memory before we tell the hardware that its ready to go. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/spider_net.c')
-rw-r--r--drivers/net/spider_net.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index 67bbd7ba406d..3bf4b9b6662a 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -419,6 +419,7 @@ spider_net_prepare_rx_descr(struct spider_net_card *card,
card->spider_stats.rx_iommu_map_error++;
descr->dmac_cmd_status = SPIDER_NET_DESCR_NOT_IN_USE;
} else {
+ wmb();
descr->dmac_cmd_status = SPIDER_NET_DESCR_CARDOWNED |
SPIDER_NET_DMAC_NOINTR_COMPLETE;
}