Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Crash in xhci driver
Hmmm, my system was totally idle (just running xlockmore's "maze" screen
saver!), and suddenly panic()d.
Here's the traceback (manually transcribed):
vpanic + 0x140
cd_play_msf
xhci_new_device + 0x821
usbd_new_device + 0x3e
uhub_explore + 0x2fa
usb_discover.isra.2 + 0x4e (interesting symbol name!)
usb_event_thread + 0x7c
According to gdb(1), this was the KASSERT() at sys/dev/usb/xhci.c:2106
2101 //hexdump("slot context", cp, sc->sc_ctxsz);
2102 uint8_t addr = XHCI_SCTX_3_DEV_ADDR_GET(cp[3]);
2103 DPRINTFN(4, "device address %u", addr, 0, 0, 0);
2104 /* XXX ensure we know when the hardware does something
2105 we can't yet cope with */
2106 KASSERT(addr >= 1 && addr <= 127);
2107 dev->ud_addr = addr;
2108 /* XXX dev->ud_addr not necessarily unique on bus */
2109 KASSERT(bus->ub_devices[dev->ud_addr] == NULL);
2110 bus->ub_devices[dev->ud_addr] = dev;
No devices were being inserted (or removed), so I'm unsure why it would
be calling xhci_new_device(). The comments in the source seem to say
that this code only gets called when a new device has been found....
Obviously, the hardware did "some we can't yet cope with" :)
+------------------+--------------------------+------------------------+
| Paul Goyette | PGP Key fingerprint: | E-mail addresses: |
| (Retired) | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org |
+------------------+--------------------------+------------------------+
Home |
Main Index |
Thread Index |
Old Index