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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux