summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorLukas Ertl <le@FreeBSD.org>2007-03-24 18:53:33 +0000
committerLukas Ertl <le@FreeBSD.org>2007-03-24 18:53:33 +0000
commit1069807f7e50212c08f3ad8c67cde0aceee656b8 (patch)
treeb9ba5d83dd060d8e1b898ee6c27a9bdcb552737c /sys
parent5a146d5125290ca4ab7dfea8d1690fb08f1ceda8 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ipw/if_ipw.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/ipw/if_ipw.c b/sys/dev/ipw/if_ipw.c
index 1942c0017e1e..974bcc9c545e 100644
--- a/sys/dev/ipw/if_ipw.c
+++ b/sys/dev/ipw/if_ipw.c
@@ -1065,6 +1065,7 @@ ipw_data_intr(struct ipw_softc *sc, struct ipw_status *status,
ipw_fix_channel(ic, m);
wh = mtod(m, struct ieee80211_frame *);
+ mtx_unlock(&sc->sc_mtx);
ni = ieee80211_find_rxnode(ic, (struct ieee80211_frame_min *)wh);
/* send the frame to the 802.11 layer */
@@ -1072,6 +1073,7 @@ ipw_data_intr(struct ipw_softc *sc, struct ipw_status *status,
/* node is no longer needed */
ieee80211_free_node(ni);
+ mtx_lock(&sc->sc_mtx);
bus_dmamap_sync(sc->rbd_dmat, sc->rbd_map, BUS_DMASYNC_PREWRITE);
}