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



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
WARN(), which might help prevent your system from crashing so badly.
WARN didn't help much. I then got the warning twice, followed by
another BUG:
process klogd
ehci_irq
usb_hcd_irq
handle_IRQ_event
handle_fasteio_irq
do_IRQ

So I set it back to BUG. Crashing hard isn't so bad when I
know what is coming - I simply remount everything synchronously
before trying.

I hope these printk's help. I can add more of them too, if needed.
Big transfers seems to bring out the worst - I always get the
crash on the first megabyte now.

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

Helge Hafting
-
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/



Relevant Pages

  • Re: MyString Class
    ... > I compiled your program and run it under the debugger. ... > The first crash happens in ... ... > memory is flawed. ... First bug fixed. ...
    (comp.lang.cpp)
  • Re: How stable is 1.5?
    ... > The crash happens when a window peer is disposed. ... > disposing it repeatedly? ... > suppose this could be a video driver bug). ...
    (comp.lang.java.programmer)
  • 2.4.23-pre9 ide+XFree+ptrace=Complete hang
    ... This is a very vague bug report... ... sometimes even the bios crashes (the fn key ceases to cause a status LED ... Perhaps I should mention that this doesn't seem to be a strace bug per se ... The minimum case I've managed to get to crash: ...
    (Linux-Kernel)
  • [crash] BUG: unable to handle kernel NULL pointer dereference at 0000000000000370
    ... Kernel BUG at ffffffff8079afb1 ... my tests have also triggered another boot crash on the same ... this crash led to the bisection result i posted in the previous mail. ...
    (Linux-Kernel)
  • Re: HEADS DOWN
    ... FreeBSD did not have a choice in the ... FreeBSD normally just emits a warning to stderr and does not crash ... We can't be "bug for bug tolerant" with Linnex without copying ... And since our allocator is vastly superior ...
    (freebsd-arch)