Force strict ordering of operations on Rx descriptors to avoid any issue
related to inline optimization.
diff -puN drivers/net/via-velocity.c~via-velocity-80 drivers/net/via-velocity.c
--- linux-2.6.7/drivers/net/via-velocity.c~via-velocity-80 2004-06-21 21:51:15.000000000 +0200
+++ linux-2.6.7-fr/drivers/net/via-velocity.c 2004-06-21 22:20:35.000000000 +0200
@@ -993,6 +993,8 @@ static inline void velocity_give_many_rx
if (vptr->rd_filled < 4)
return;
+ wmb();
+
unusable = vptr->rd_filled | 0x0003;
dirty = vptr->rd_dirty - unusable + 1;
for (avail = vptr->rd_filled & 0xfffc; avail; avail--) {
_