Date: Tue, 18 Jan 2005 14:23:24 -0500 (EST) From: "Ketrien I. Saihr-Kenchedra" <ketrien@error404.nls.net> To: John Baldwin <jhb@FreeBSD.org> Cc: current@FreeBSD.org Subject: Re: LOR in Jan16 -CUR, ACPI related possibly Message-ID: <20050118141527.B1832@bahre.achedra.org> In-Reply-To: <200501181112.55266.jhb@FreeBSD.org> References: <20050116044737.B13189@bahre.achedra.org> <20050116163107.R13189@bahre.achedra.org> <200501181112.55266.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050118141527.B1832>