Re: Asus A8V hangs during pci probe on fresh-CURRENT

From: Ian Dowse <iedowse_at_iedowse.com>
Date: Tue, 31 Oct 2006 19:07:18 +0000
In message <200610302227.52575.nb_root_at_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_at_ 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
_at__at_ -630,7 +630,9 _at__at_
 				state = 5;
 				break;
 			default:	/* XXX - unimplemented */
-				state = 4;
+				end = 1;
+				cksumvalid = 0;
+				continue;
 				break;
 			}
 			break;
Received on Tue Oct 31 2006 - 18:08:03 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:02 UTC