Re: ehci panic

Patrick Welche <[email protected]>
Newsgroups gmane.os.netbsd.ports.i386
Message-ID <20170719095304.GE5109@quartz>
On Wed, Jul 19, 2017 at 09:47:15AM +0100, Patrick Welche wrote:
> On Mon, Jul 17, 2017 at 09:40:18PM +0200, Jarom?r Dole?ek wrote:
> > The constant is wrong. There are 4 bits for number of companion devices, so
> > maximum is actually 15.
> > 
> > Can you try kernel with this change?
> 
> It gets further!
> 
> ehci0 at pci0 dev 29 function 7: vendor 8086 product 24cd (rev. 0x03)
> ehci0: interrupting at irq11
> panic: kernel diagnostic asserition "(reg & 0x3) == 0" failed: "file "/usr/src/sys/arch/x86/pci/pci_machdep.c", line 621

All I got extra with USB_DEBUG EHCI_DEBUG and usbdebug=ehcidebug=10 was

allocated pic pic0 type level pin 11 level 6 to cpu0 slot 11 idt entry 43


vpanic()

(gdb) info line *(ch_voltag_convert_in)
Line 1275 of "/usr/src/sys/dev/scsipi/ch.c"

(gdb) info line *(pci_conf_read+0xd2)
Line 621 of "/usr/src/sys/arch/x86/pci/pci_machdep.c"

   614  pci_conf_read(pci_chipset_tag_t pc, pcitag_t tag, int reg)

   621          KASSERT((reg & 0x3) == 0);

and guess that reg == 0xb

(gdb) info line *(ehci_get_ownership + 0x6c)
Line 391 of "/usr/src/sys/dev/pci/ehci_pci.c"

   388          cparams = EREAD4(sc, EHCI_HCCPARAMS);
   389          addr = EHCI_HCC_EECP(cparams);
   390          while (addr != 0) {
   391                  cap = pci_conf_read(pc, tag, addr);

#define EHCI_HCCPARAMS		0x08	/* RO Capability parameters */
#define  EHCI_HCC_EECP(x)	(((x) >> 8) & 0xff) /* extended ports caps */

(gdb) info line *(ehci_pci_attach + 0x401)
Line 246 of "/usr/src/sys/dev/pci/ehci_pci.c"

   246          int err = ehci_init(&sc->sc);


This laptop can't cope with "extended" capabilities?

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.