From owner-freebsd-current@FreeBSD.ORG Mon May 19 06:05:12 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 D046437B401 for ; Mon, 19 May 2003 06:05:12 -0700 (PDT) Received: from spider.deepcore.dk (cpe.atm2-0-56339.0x50c6aa0a.abnxx2.customer.tele.dk [80.198.170.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB98B43F75 for ; Mon, 19 May 2003 06:05:10 -0700 (PDT) (envelope-from sos@spider.deepcore.dk) Received: (from sos@localhost) by spider.deepcore.dk (8.12.8p1/8.12.8) id h4JD59KC066753; Mon, 19 May 2003 15:05:09 +0200 (CEST) (envelope-from sos) From: Soeren Schmidt Message-Id: <200305191305.h4JD59KC066753@spider.deepcore.dk> In-Reply-To: <3EC8D308.8000108@myrealbox.com> To: walt Date: Mon, 19 May 2003 15:05:09 +0200 (CEST) X-Mailer: ELM [version 2.4ME+ PL98b (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=ISO-8859-1 cc: freebsd-current@FreeBSD.ORG Subject: Re: IDE disk initialization problem with tonight's kernel. 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: Mon, 19 May 2003 13:05:13 -0000 It seems walt wrote: > Soeren Schmidt wrote: > > It seems walt wrote: > > > >>Sometime between this morning's cvsup at around 12:00 noon GMT Sunday > >>and tonight's cvsup at 03:00 GMT Monday some changes were made in the > >>kernel which caused these errors: > >> > >> > >>ad0: 76319MB [155061/16/63] at ata0-master UDMA33 > >>ad1: 76319MB [155061/16/63] at ata0-slave UDMA33 > >>Mounting root from ufs:/dev/ad0s3a > >>ad0: UDMA ICRC error cmd=write fsbn 281961420 of 140980710-140980713 > >> falling back to PIO mode > > > I cant tell what controller this is from the above, could you mail me > > the output of dmesg and pciconf -l please ? > > From the bad kernel: > atapci0: port 0xb800-0xb87f,0xd000-0xd00f,0xd400-0xd43f mem 0xf2000000-0xf201ffff,0xf2800000-0xf2800fff irq 11 at device 8.0 on pci0 > atapci1: port 0xa400-0xa40f at device 17.1 on pci0 > ata0: at 0x1f0 irq 14 on atapci1 > ata1: at 0x170 irq 15 on atapci1 I have a fix ready here waiting for re@'s approval: Index: ata-chipset.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ata/ata-chipset.c,v retrieving revision 1.27 diff -u -r1.27 ata-chipset.c --- ata-chipset.c 18 May 2003 16:45:48 -0000 1.27 +++ ata-chipset.c 19 May 2003 06:33:55 -0000 @@ -2003,26 +2003,21 @@ ata_find_chip(device_t dev, struct ata_chip_id *index, int slot) { device_t *children; - u_int32_t devid; - u_int8_t revid; int nchildren, i; - if (device_get_children(device_get_parent(dev), &children, &nchildren)) return 0; - devid = pci_get_devid(dev); - revid = pci_get_revid(dev); - while (index->chipid != 0) { for (i = 0; i < nchildren; i++) { if (((slot >= 0 && pci_get_slot(children[i]) == slot) || slot < 0)&& - pci_get_devid(children[i]) == devid && - pci_get_revid(children[i]) >= revid) { + pci_get_devid(children[i]) == index->chipid && + pci_get_revid(children[i]) >= index->chiprev) { free(children, M_TEMP); return index; } } + index++; } free(children, M_TEMP); return NULL; -Søren