From owner-freebsd-current@FreeBSD.ORG Sun Mar 18 11:21:36 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E228E16A40F for ; Sun, 18 Mar 2007 11:21:36 +0000 (UTC) (envelope-from le@freebsd.org) Received: from grace.univie.ac.at (grace.univie.ac.at [131.130.3.115]) by mx1.freebsd.org (Postfix) with ESMTP id A09DF13C44B for ; Sun, 18 Mar 2007 11:21:36 +0000 (UTC) (envelope-from le@freebsd.org) Received: from joan.univie.ac.at ([131.130.3.110] helo=joan.univie.ac.at) by grace.univie.ac.at with esmtp (Exim 4.66) (envelope-from ) id 1HStE7-0007O6-HE; Sun, 18 Mar 2007 12:07:03 +0100 Received: from le.vpn.univie.ac.at ([131.130.222.177]) by joan.univie.ac.at with esmtps (TLSv1:AES256-SHA:256) (Exim 4.66) (envelope-from ) id 1HStE6-0004Fe-Sz; Sun, 18 Mar 2007 12:07:03 +0100 Message-ID: <45FD1D53.7080608@freebsd.org> Date: Sun, 18 Mar 2007 12:06:59 +0100 From: Lukas Ertl User-Agent: Thunderbird 1.5.0.10 (Windows/20070221) MIME-Version: 1.0 To: Denis Shaposhnikov References: <45FD10FA.2090103@vlink.ru> In-Reply-To: <45FD10FA.2090103@vlink.ru> Content-Type: multipart/mixed; boundary="------------080805000601060906090405" Cc: freebsd-current@freebsd.org Subject: Re: ipw(4) freeze CURRENT X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Mar 2007 11:21:37 -0000 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--