If you use external USB drives (be it SD-Cards, Hard Disk or Thumbs) and your drive(s) seem to hang from time to time while spitting out “
[...] reset high speed USB device using ehci_hcd and address 3 [...]” in your syslogs, the following fixed it for me.
My one little 320GB 2.5″ external Western Digital USB hard drive had this issue, while the big ones didn’t – seems like it is somehow related to being powered by the bus itself or using a dedicated power supply. Anyway, the drive seemed to hang on large file transactions (like copying a big file) and then the kernel had to reset it, announcing it via the syslog. Very annoying, especially because SMB transfers always got interrupted and went totally foobar. The fix was quite simple. max_sectors for the drive was set to its default
240 value, which the drive choked on for no apparent reason whatsoever. Issuing a quick
echo 128 > /sys/block/sdc/device/max_sectors
fixed it. YMMV. Of course replace
sdc with the actual node of your drive.