diff options
author | yongari <yongari@FreeBSD.org> | 2011-05-06 22:45:13 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2011-05-06 22:45:13 +0000 |
commit | 6356409dba298549e32431a1880412217b1987b3 (patch) | |
tree | d3cfedaafc3f9b881aea977500b6b332e78f15b1 /sys/dev/xl/if_xl.c | |
parent | 40c60ef59e2a4337e6082e8c49afb410014aaebe (diff) | |
download | FreeBSD-src-6356409dba298549e32431a1880412217b1987b3.zip FreeBSD-src-6356409dba298549e32431a1880412217b1987b3.tar.gz |
Updating status word should be the last operation of UPD structure
renewal. Disable instruction reordering by adding volatile to
xl_list_onefrag structure.
Diffstat (limited to 'sys/dev/xl/if_xl.c')
-rw-r--r-- | sys/dev/xl/if_xl.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/xl/if_xl.c b/sys/dev/xl/if_xl.c index d3d522f..88a7ba8 100644 --- a/sys/dev/xl/if_xl.c +++ b/sys/dev/xl/if_xl.c @@ -1904,8 +1904,8 @@ xl_newbuf(struct xl_softc *sc, struct xl_chain_onefrag *c) sc->xl_tmpmap = map; c->xl_mbuf = m_new; c->xl_ptr->xl_frag.xl_len = htole32(m_new->m_len | XL_LAST_FRAG); - c->xl_ptr->xl_status = 0; c->xl_ptr->xl_frag.xl_addr = htole32(segs->ds_addr); + c->xl_ptr->xl_status = 0; bus_dmamap_sync(sc->xl_mtag, c->xl_map, BUS_DMASYNC_PREREAD); return (0); } |