diff options
author | yongari <yongari@FreeBSD.org> | 2010-08-31 20:56:18 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2010-08-31 20:56:18 +0000 |
commit | f48233ae002101f8e12bd2995152b6e3b1df86ed (patch) | |
tree | 88589cdaf349a809f1212bbf049ff9fe55e1d57a /sys/dev/bge | |
parent | b07460784b73fa9d8dccee76564e87e551cb2e02 (diff) | |
download | FreeBSD-src-f48233ae002101f8e12bd2995152b6e3b1df86ed.zip FreeBSD-src-f48233ae002101f8e12bd2995152b6e3b1df86ed.tar.gz |
Remove unnecessary atomic operation in bge_poll. bge(4) always
holds a driver lock in the function entry and
memory synchronization is handled by bus_dmamap_sync(9).
Diffstat (limited to 'sys/dev/bge')
-rw-r--r-- | sys/dev/bge/if_bge.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c index 585e1f6..30ccf22 100644 --- a/sys/dev/bge/if_bge.c +++ b/sys/dev/bge/if_bge.c @@ -3457,8 +3457,8 @@ bge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count) rx_prod = sc->bge_ldata.bge_status_block->bge_idx[0].bge_rx_prod_idx; tx_cons = sc->bge_ldata.bge_status_block->bge_idx[0].bge_tx_cons_idx; - statusword = atomic_readandclear_32( - &sc->bge_ldata.bge_status_block->bge_status); + statusword = sc->bge_ldata.bge_status_block->bge_status; + sc->bge_ldata.bge_status_block->bge_status = 0; bus_dmamap_sync(sc->bge_cdata.bge_status_tag, sc->bge_cdata.bge_status_map, |