From owner-cvs-src@FreeBSD.ORG Mon Sep 20 06:33:00 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7743316A4CE; Mon, 20 Sep 2004 06:33:00 +0000 (GMT) Received: from ylpvm29.prodigy.net (ylpvm29-ext.prodigy.net [207.115.57.60]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2F1D943D31; Mon, 20 Sep 2004 06:33:00 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.5.52] (adsl-64-171-186-250.dsl.snfc21.pacbell.net [64.171.186.250])i8K6WjIV012172; Mon, 20 Sep 2004 02:32:45 -0400 Message-ID: <414E7991.6050000@root.org> Date: Sun, 19 Sep 2004 23:32:49 -0700 From: Nate Lawson User-Agent: Mozilla Thunderbird 0.7.3 (X11/20040901) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Warner Losh References: <20040920061223.0FDD916A4FD@hub.freebsd.org> In-Reply-To: <20040920061223.0FDD916A4FD@hub.freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/fdc fdc_isa.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Sep 2004 06:33:00 -0000 Warner Losh wrote: > imp 2004-09-20 06:12:19 UTC > > FreeBSD src repository > > Modified files: > sys/dev/fdc fdc_isa.c > Log: > das@ has a ACPI bios that lists 0x3f0-0x3f1, 0x3f2-0x3f3, 0x3f4-0x3f5 > and 0x3f7. fdc_isa_alloc_resource() didn't work right in this case > (it accessed FDOUT correctly due to an overflow of the first resource. > It accesed FDSTS and FDDATA incorrectly via the second resource (which > wound up accessing FDOUT and the tape register at 0x3f3) and badly for > the CTL register (at location 0x3f4). This is a minimal fix that just > 'eats' the first one if it covers two locations and has an offset of > 0. This confusion lead the floppy driver to think there'd been a disk > change, which uncovered a deadlock in the floppy/geom code which lead > to a panic. These changes fix that by fixing the underlying resource > problem, but doesn't address the potential deadlock issue that might > still be there. > > This is a minimal fix so it can more safely be merged into 5 w/o risk > for known working configurations (hence the use of the ugly goto, > which reduces case 8 to case 6 w/o affecting cases 1-7). A more > invasive fix that will handle more ACPI resource list diversity is in > the pipeline that should kill these issues once and for all, while > staying within the resources that we allocate. > > Tested/Reported by: das > Reviewed by: njl > MFC before: re->next_release_name(5.3-BETA5); > > Revision Changes Path > 1.15 +14 -4 src/sys/dev/fdc/fdc_isa.c Thanks for you and phk working on this. -Nate