From owner-freebsd-current@FreeBSD.ORG Mon May 19 06:29:37 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 85A4137B401 for ; Mon, 19 May 2003 06:29:37 -0700 (PDT) Received: from smtp-send.myrealbox.com (smtp-send.myrealbox.com [192.108.102.143]) by mx1.FreeBSD.org (Postfix) with ESMTP id F40E743FB1 for ; Mon, 19 May 2003 06:29:36 -0700 (PDT) (envelope-from wa1ter@myrealbox.com) Received: from myrealbox.com wa1ter@smtp-send.myrealbox.com [66.126.108.77] $ on Novell NetWare via secured & encrypted transport (TLS); Mon, 19 May 2003 06:29:38 -0700 Message-ID: <3EC8DC56.2050701@myrealbox.com> Date: Mon, 19 May 2003 06:29:58 -0700 From: walt Organization: none User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.4b) Gecko/20030517 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Soeren Schmidt , freebsd-current@freebsd.org References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit 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:29:37 -0000 Soeren Schmidt wrote: > 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; This patch works for me, thanks! That must set a speed record for bugfixes :0)