Date: Fri, 13 Sep 2002 11:18:54 -0700 (PDT) From: Julian Elischer <julian@elischer.org> To: Rahul Siddharthan <rsidd@online.fr> Cc: stable@freebsd.org, multimedia@freebsd.org Subject: Re: USB audio kernel panics Message-ID: <Pine.BSF.4.21.0209131109450.76610-100000@InterJet.elischer.org> In-Reply-To: <20020913121704.GA286@papagena.rockefeller.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 13 Sep 2002, Rahul Siddharthan wrote:
> Julian Elischer said on Sep 12, 2002 at 20:36:53:
> > > I notice that the USB audio driver has been imported into -STABLE
> > > recently. I've been using this driver for a few months, and get
> > > frequent easily-reproducible kernel panics, which unfortunately I don't
> > > have the ability to fix -- but I really don't think the driver is ready
> > > for -stable or for 4.7-release.
> > >
> >
> > [...]
> > can you do a 'list' here?
> > as well as "info locals" and
> > print anything that looks suspicious?
>
> I don't know what looks suspicious, but here's the whole lot below --
> first for the panic I quoted (pulling out the USB cord while busy),
> then for a different panic (starting the KDE artsd daemon).
>
> Thanks, I'd definitely like to see this fixed (and if recording
> capabilities are added too, I can finally quit rebooting into linux)
>
> Rahul
>
> ------------------
>
> First, for what I sent earlier: pulling out the USB cord
>
> ------------------
>
> #16 0xc0235813 in uhci_device_isoc_start (xfer=0xc100d300)
> at /usr/src/sys/dev/usb/uhci.c:2097
> 2097 LIST_INSERT_HEAD(&sc->sc_intrhead, ii, list);
> (kgdb) list
> 2092 if (!ii->isdone) {
> 2093 printf("uhci_device_isoc_start: not done, ii=%p\n", ii);
> 2094 }
> 2095 ii->isdone = 0;
> 2096 #endif
> 2097 LIST_INSERT_HEAD(&sc->sc_intrhead, ii, list);
> 2098
> 2099 splx(s);
> 2100
> 2101 return (USBD_IN_PROGRESS);
> (kgdb) info locals
> upipe = (struct uhci_pipe *) 0x0
> sc = (uhci_softc_t *) 0xc0f9c200
> ii = (uhci_intr_info_t *) 0xc0fae8c0
> end = (uhci_soft_td_t *) 0x68c840
> s = 6867008
> i = 0
print sc->sc_intrhead
and if there is something already on the list, print that.
also print *ii
> -----------------
>
> Below, a panic generated by starting up KDE's artsd while the USB device
> is plugged in securely.
>
> -----------------
>
> #16 0xc029bb93 in trap (frame={tf_fs = 6815760, tf_es = -1056571376,
> tf_ds = 16, tf_edi = 1, tf_esi = -1056113184, tf_ebp = -1070635404,
> tf_isp = -1070635452, tf_ebx = -1056138112, tf_edx = 125511200,
> tf_ecx = -846746112, tf_eax = 2, tf_trapno = 12, tf_err = 0,
> tf_eip = -1071429335, tf_cs = 8, tf_eflags = 66050,
> tf_esp = -1057941184, tf_ss = -1056113184})
> at /usr/src/sys/i386/i386/trap.c:466
> 466 (void) trap_pfault(&frame, FALSE, eva);
>
> (kgdb) up
> #17 0xc0234929 in uhci_idone (ii=0xc10cfde0)
> at /usr/src/sys/dev/usb/uhci.c:1129
> 1129 for (std = ii->stdstart; std != NULL; std = std->link.std) {
> (kgdb) list
> 1124 uhci_dump_tds(ii->stdstart);
> 1125 #endif
> 1126
> 1127 /* The transfer is done, compute actual length and status. */
> 1128 actlen = 0;
> 1129 for (std = ii->stdstart; std != NULL; std = std->link.std) {
> 1130 nstatus = LE(std->td.td_status);
> 1131 if (nstatus & UHCI_TD_ACTIVE)
> 1132 break;
> 1133
> (kgdb) info locals
If this really is where the error is.. is it possile something further in the
loop clears std?
I know nothing of this code.. I'm just showing you how to debug it...
> xfer = 0x68c840
> upipe = (struct uhci_pipe *) 0x0
> std = (uhci_soft_td_t *) 0x0
> status = 1
> nstatus = 0
> actlen = 194
>
> (kgdb) up
julian
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-multimedia" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0209131109450.76610-100000>
