Re: [linux-usb-devel] 2.6.19-rc1-mm1 - locks when using "dd bs=1M"from card reader

From: Alan Stern
Date: Fri Oct 20 2006 - 11:56:04 EST


On Fri, 20 Oct 2006, Helge Hafting wrote:

> Alan Stern wrote:
> [...]
> > After looking at the debugging output, no. That "invalid opcode" is a red
> > herring. What you encountered this time was a BUG() in the source code of
> > start_unlink_async() in drivers/usb/host/ehci-q.c:
> >
> > #ifdef DEBUG
> > assert_spin_locked(&ehci->lock);
> > if (ehci->reclaim
> > || (qh->qh_state != QH_STATE_LINKED
> > && qh->qh_state != QH_STATE_UNLINK_WAIT)
> > )
> > BUG ();
> > #endif
> >
> > You could try putting a printk() just before the BUG() to display the
> > values of ehci->reclaim and qh->qh_state. Maybe also change the BUG() to
> >
> ehci->reclaim=0
> qh->qh_state=5

5 is QH_STATE_COMPLETING. That explains why the BUG() fires.

At this point it's beyond me. Monty will have to take it from here.


> During boot I get lots of those "Hardware error, end-of-data detected"
> messages, but I've never seen it crash during bootup.

Those messages are from the card reader. It doesn't seem to be working
right. It returns the "end-of-data" error in response to a PREVENT MEDIUM
REMOVAL command and it returns a phase error in response to a READ
command. In spite of the fact that it claims to have a 256 MB card
present.

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/