Re: ehci panic

Patrick Welche <[email protected]>
Newsgroups gmane.os.netbsd.ports.i386
Message-ID <20170731113800.GA4599@quartz>
On Thu, Jul 20, 2017 at 12:43:26AM +0200, Jarom?r Dole?ek wrote:
> 0xe2 should be valid offset, spec says it must be >= 0x40, but nothing
> about it being necessarily 4-byte aligned.
> 
> I've checked FreeBSD and Linux drivers, and there doesn't seem to be
> anything there checking or forcing this alignment, either. Their drivers
> even do some one byte reads into config space, so doesn't even seem to be
> PCI spec restriction.
> 
> Can you try to remove the KASSERT()s in sys/arch/x86/pci/pci_machdep.c and
> see where it will get you? The KASSERT() was added in 2008, three years
> after the ehci bios handover handling code was added, so it's a bit long
> shot this is actually the root problem, but still worth trying.

I removed the 2 KASSERT((reg & 0x3) == 0); asserts, and now have a 
successful boot:

ehci0 at pci0 dev 29 function 7: vendor 8086 product 24cd (rev. 0x03)
ehci0: interrupting at irq 11
ehci0: EHCI version f0.0
ehci0: wrong number of companions (14 != 3)
ehci0: 3 companion controllers, 15 ports each: uhci0 uhci1 uhci2
ehci0: reset timeout
ehci0: init failed, error=5

At least the laptop is usable now :-)


Cheers,

Patrick
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.