Re: Oops in UHCI when encountering "host controller process error"

From: Alan Stern
Date: Fri Oct 17 2008 - 10:58:40 EST


On Thu, 16 Oct 2008, Jeremy Fitzhardinge wrote:

> Looks like this is the relevent detail: "uhci->skelqh[1]->node.next is
> NULL" for all the queues. Haven't looked into it yet.

> ------------[ cut here ]------------
> WARNING: at /home/jeremy/hg/xen/paravirt/linux/drivers/usb/host/uhci-q.c:1744 uhci_scan_schedule+0xb7/0x9a3()
> uhci->skelqh[1]->node.next is NULL

Odd. Is skelqh[1] the only entry whose node.next is NULL? Not
skelqh[2] or others?

The node is initialized during uhci_start() in uhci-hcd.c -- there's a
loop which initializes all the uhci->skelqh[i] entries by calling
uhci_alloc_qh(). You should check inside that loop to see whether
uhci->skelqh[i]->node.next is NULL to begin with. If it is then
something about the DMA-coherent memory is funny; if not then the
linked list pointer gets corrupted somewhere.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/