Running kernel 2.6.27-rc1-00156-g94ad374 on x86-64, I
1) plugged in a USB device
[...]
2) I executed: sudo dd if=/dev/sdc of=foo.img bs=32k
3) judging from ls(1), the entire storage device's contents was
successfully dumped to my hard drive. HOWEVER, dd(1) sat in disk wait,
failing to end execution once the end of the USB storage device was reached.
4) a huge amount of dmesg spew followed. at the time of this writing,
the following spew has been passed to dmesg over TWO HUNDRED times:
5) Losing patience, I unplugged the USB device. dmesg spew continues.
6) Losing more patience, I 'kill -9' the dd(1) process. dmesg spew
continues.
It is completely silly to fill my dmesg buffer many times over, with the
same basic information. /proc/sys/kernel/hung_task_timeout_secs is
completely irrelevant here, you need spew limiting in addition to fixing
the USB storage hang problem.
Unfortunately, the USB device was not mine, so it is already hundreds of
miles away from me. I can provide plenty of information about my
current machine state and config though, just ask. lspci and config
attached.
Huge /var/log/messages with all dmesg spew available upon request; I
didn't want to post the whole thing.
Jeff