]> git.hungrycats.org Git - linux/commitdiff
[netdrvr acenic] fix RX descriptor memory ordering
authorJanice M. Girouard <janiceg@us.ibm.com>
Wed, 14 Jul 2004 11:13:01 +0000 (07:13 -0400)
committerJeff Garzik <jgarzik@pobox.com>
Wed, 14 Jul 2004 11:13:01 +0000 (07:13 -0400)
drivers/net/acenic.c

index b70c2f0ee5f7e17854e38028592fa1c4436d1941..ad1d8dc007a88f59eb87a02b42c81de417d9154a 100644 (file)
@@ -2007,6 +2007,11 @@ static void ace_rx_int(struct net_device *dev, u32 rxretprd, u32 rxretcsm)
                int bd_flags, desc_type, mapsize;
                u16 csum;
 
+
+               /* make sure the rx descriptor isn't read before rxretprd */
+               if (idx == rxretcsm) 
+                       rmb();
+
                retdesc = &ap->rx_return_ring[idx];
                skbidx = retdesc->idx;
                bd_flags = retdesc->flags;