ipw(4) freeze CURRENT
Lukas Ertl
le at freebsd.org
Sun Mar 18 11:21:37 UTC 2007
Denis Shaposhnikov wrote:
> Hi!
>
> I think, something strange with ipw(4) on fresh CURRENT. If I use it
> with debug.mpsafenet="1" (the default) it sometimes freeze my notebook.
> But with debug.mpsafenet="0" it works.
Could you try the attached patch?
regards,
le
--
Lukas Ertl http://homepage.univie.ac.at/l.ertl/
le at FreeBSD.org http://people.freebsd.org/~le/
-------------- next part --------------
Index: if_ipw.c
===================================================================
RCS file: /usr/local/bsdcvs/src/sys/dev/ipw/if_ipw.c,v
retrieving revision 1.25
diff -u -r1.25 if_ipw.c
--- if_ipw.c 11 Mar 2007 22:40:38 -0000 1.25
+++ if_ipw.c 18 Mar 2007 11:02:20 -0000
@@ -1065,6 +1065,9 @@
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 */
@@ -1073,6 +1076,8 @@
/* 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);
}
More information about the freebsd-current
mailing list