Skip site navigation (1)Skip section navigation (2)
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>