summaryrefslogtreecommitdiffstats
path: root/sys/dev/bge
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2010-08-31 20:56:18 +0000
committeryongari <yongari@FreeBSD.org>2010-08-31 20:56:18 +0000
commitf48233ae002101f8e12bd2995152b6e3b1df86ed (patch)
tree88589cdaf349a809f1212bbf049ff9fe55e1d57a /sys/dev/bge
parentb07460784b73fa9d8dccee76564e87e551cb2e02 (diff)
downloadFreeBSD-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.c4
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,
OpenPOWER on IntegriCloud