From owner-freebsd-current@FreeBSD.ORG Tue Oct 31 19:08:03 2006 Return-Path: X-Original-To: freebsd-current@freebsd.org 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 1F6A216A4F2; Tue, 31 Oct 2006 19:08:03 +0000 (UTC) (envelope-from iedowse@iedowse.com) Received: from nowhere.iedowse.com (nowhere.iedowse.com [82.195.144.75]) by mx1.FreeBSD.org (Postfix) with SMTP id AF43B43E37; Tue, 31 Oct 2006 19:07:21 +0000 (GMT) (envelope-from iedowse@iedowse.com) Received: from localhost ([127.0.0.1] helo=iedowse.com) by nowhere.iedowse.com via local-iedowse id ; 31 Oct 2006 19:07:18 +0000 (GMT) To: Nicolas Blais In-Reply-To: Your message of "Mon, 30 Oct 2006 22:27:47 EST." <200610302227.52575.nb_root@videotron.ca> Date: Tue, 31 Oct 2006 19:07:18 +0000 From: Ian Dowse Message-ID: <200610311907.aa91003@nowhere.iedowse.com> Cc: Yuriy Tsibizov , freebsd-current@freebsd.org, Doug Barton Subject: Re: Asus A8V hangs during pci probe on fresh-CURRENT X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 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: Tue, 31 Oct 2006 19:08:03 -0000 In message <200610302227.52575.nb_root@videotron.ca>, Nicolas Blais writes: >I saw that pci.c was updated today (to version 1.318) and I decided to give it >a try. As expected, it did not work, so I kept my /usr/src in sync, but reverted pci.c to 1.292.2.9 and my system booted fine! > >By diff'ing with 1.315 >(http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/pci/pci.c.diff?f=H&r1=text&tr1=1.292.2.9&r2=text&tr2=1.315) >we can find there's obviously something in the vpd code that my system >doesn't like, or that the vpd code doesn't like something about my system ;). FYI, jmg@ sent me the following patch that fixed a similar issue. The thing in common between systems seeing this hang appears to be that they have a Brooktree card installed. Seemingly, some Brooktree cards have a PCI capability claiming VPD support, but the VPD data is missing, which confuses the parser. One of the pci_read_vpd_reg() calls then gets stuck when it tries to read from an invalid address. Ian Index: pci.c =================================================================== RCS file: /dump/FreeBSD-CVS/src/sys/dev/pci/pci.c,v retrieving revision 1.316 diff -u -r1.316 pci.c --- pci.c 20 Oct 2006 21:28:11 -0000 1.316 +++ pci.c 31 Oct 2006 18:58:02 -0000 @@ -630,7 +630,9 @@ state = 5; break; default: /* XXX - unimplemented */ - state = 4; + end = 1; + cksumvalid = 0; + continue; break; } break;