Date: Sun, 18 Mar 2007 12:06:59 +0100 From: Lukas Ertl <le@freebsd.org> To: Denis Shaposhnikov <dsh@vlink.ru> Cc: freebsd-current@freebsd.org Subject: Re: ipw(4) freeze CURRENT Message-ID: <45FD1D53.7080608@freebsd.org> In-Reply-To: <45FD10FA.2090103@vlink.ru> References: <45FD10FA.2090103@vlink.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------080805000601060906090405 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit 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@FreeBSD.org http://people.freebsd.org/~le/ --------------080805000601060906090405 Content-Type: text/plain; name="if_ipw.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="if_ipw.c.diff" 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); } --------------080805000601060906090405--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45FD1D53.7080608>