From owner-freebsd-current@FreeBSD.ORG Wed Dec 24 03:28:26 2003 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 6D95816A4CE for ; Wed, 24 Dec 2003 03:28:26 -0800 (PST) Received: from spider.deepcore.dk (cpe.atm2-0-53484.0x50a6c9a6.abnxx9.customer.tele.dk [80.166.201.166]) by mx1.FreeBSD.org (Postfix) with ESMTP id 03F4343D5D for ; Wed, 24 Dec 2003 03:28:10 -0800 (PST) (envelope-from sos@spider.deepcore.dk) Received: from spider.deepcore.dk (localhost [127.0.0.1]) by spider.deepcore.dk (8.12.10/8.12.10) with ESMTP id hBOBRKtx001399; Wed, 24 Dec 2003 12:27:20 +0100 (CET) (envelope-from sos@spider.deepcore.dk) Received: (from sos@localhost) by spider.deepcore.dk (8.12.10/8.12.10/Submit) id hBOBRKd6001398; Wed, 24 Dec 2003 12:27:20 +0100 (CET) (envelope-from sos) From: Soren Schmidt Message-Id: <200312241127.hBOBRKd6001398@spider.deepcore.dk> In-Reply-To: <20031223172258.B93254@root.org> To: Nate Lawson Date: Wed, 24 Dec 2003 12:27:20 +0100 (CET) X-Mailer: ELM [version 2.4ME+ PL99f (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=ISO-8859-1 X-mail-scanned: by DeepCore Virus & Spam killer v1.3 X-Mailman-Approved-At: Wed, 24 Dec 2003 05:12:55 -0800 cc: current@FreeBSD.ORG Subject: Re: More info: ATA hang on resume 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: Wed, 24 Dec 2003 11:28:26 -0000 It seems Nate Lawson wrote: > After putting in some debugging prints, I found that the hang is > happening in this call stack: > > ata_controlcmd(ATA_SF_SETXFER) ata-chipset.c:874 > ata_intel_new_setmode() ata-chipset.c:851 > ch->device[MASTER].setmode(..., ATA_PIO_MAX) ata-all.c:681 > ata_identify_devices() ata-all.c:276 > ata_reinit() ata-all.c:231 > > I don't know what in ata_controlcmd() is hanging. If I remove the call to > setting ATA_PIO_MAX so I just do the call to set ATA_DMA_MAX, it still > hangs in that call in the same place. Are you sure it's legal to call > ATA_SF_SETXFER with a mode of ATA_PIO_MAX (0x0f) or ATA_DMA_MAX (0x4f)? > I tried changing these calls to set PIO4 and UDMA5 just in case, but no > luck. It hangs because the command newer finishes, it there is no interrupt getting through (this is the first time interrupts are getting used after the resume). > What information can I find to help you track down this regression? You > fixed suspend/resume early October (I think) although it broke again > sometime in November. I haven't changed anything in this regard since, so the problem is probably a side effect of other changes in the system (APIC, interrupt code, ???) -Søren Yes I know it works under windows!!