From: Guo-Fu Tseng Date: Mon, 18 Oct 2010 11:56:20 +0000 (+0800) Subject: jme: Prevent possible read re-order error X-Git-Tag: 1.0.7~4 X-Git-Url: http://bbs.cooldavid.org/git/?p=jme.git;a=commitdiff_plain;h=1a7a122d423969fa759576f60ca2feb3d69be066;ds=sidebyside jme: Prevent possible read re-order error Adding read memory barrier in between flag reading and data reading of receive descriptors. This prevents the data being read before hardware complete writing informations. Reported-by: Stefan Hajnoczi --- diff --git a/jme.c b/jme.c index 0ea0da3..095f899 100644 --- a/jme.c +++ b/jme.c @@ -989,6 +989,7 @@ jme_process_receive(struct jme_adapter *jme, int limit) goto out; --limit; + rmb(); desccnt = rxdesc->descwb.desccnt & RXWBDCNT_DCNT; if (unlikely(desccnt > 1 ||