From owner-freebsd-current@FreeBSD.ORG Tue Jan 18 19:22:17 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5F81A16A4CE; Tue, 18 Jan 2005 19:22:17 +0000 (GMT) Received: from error404.nls.net (error404.nls.net [216.144.36.24]) by mx1.FreeBSD.org (Postfix) with ESMTP id ECEAF43D53; Tue, 18 Jan 2005 19:22:16 +0000 (GMT) (envelope-from ketrien@error404.nls.net) Received: from error404.nls.net (ketrien@error404.nls.net [216.144.36.24]) by error404.nls.net (8.13.1/8.13.1) with ESMTP id j0IJNO06004483; Tue, 18 Jan 2005 14:23:24 -0500 (EST) (envelope-from ketrien@error404.nls.net) Date: Tue, 18 Jan 2005 14:23:24 -0500 (EST) From: "Ketrien I. Saihr-Kenchedra" X-X-Sender: ketrien@bahre.achedra.org To: John Baldwin In-Reply-To: <200501181112.55266.jhb@FreeBSD.org> Message-ID: <20050118141527.B1832@bahre.achedra.org> References: <20050116044737.B13189@bahre.achedra.org> <20050116163107.R13189@bahre.achedra.org> <200501181112.55266.jhb@FreeBSD.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Virus-Scanned: ClamAV 0.80/671/Mon Jan 17 09:16:31 2005 clamav-milter version 0.80j on bahre.achedra.org X-Virus-Status: Clean cc: freebsd-current@FreeBSD.org cc: current@FreeBSD.org Subject: Re: LOR in Jan16 -CUR, ACPI related possibly X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Tue, 18 Jan 2005 19:22:17 -0000 On Tue, 18 Jan 2005, John Baldwin wrote: > This is because the driver (pcn) in this case is holding a lock across > bus_release_resoruce() when it probably should not be. I get the same LOR > with radeondrm because it holds the lock across bus_teardown_intr() (which is > definitely wrong since that can sleep). Indeed, this patch will fix it. I should've seen it, but I've been fighting a timing issue in probe() on the Am79C975's. *** if_pcn.c.orig Tue Jan 18 14:17:54 2005 --- if_pcn.c Tue Jan 18 14:18:26 2005 *************** *** 619,624 **** --- 619,626 ---- pcn_stop(sc); ether_ifdetach(ifp); } + PCN_UNLOCK(sc); + if (sc->pcn_miibus) device_delete_child(dev, sc->pcn_miibus); bus_generic_detach(dev); *************** *** 634,640 **** contigfree(sc->pcn_ldata, sizeof(struct pcn_list_data), M_DEVBUF); } - PCN_UNLOCK(sc); mtx_destroy(&sc->pcn_mtx); --- 636,641 ---- -Ketrien I. Saihr-Kenchedra