On Mon, 22 Aug 2016, Ritesh Raj Sarraf wrote: > Hello Mathias, > > I finally reproduced the bug. So the linked usbmon log should have it. But its a > whopping 22 MiB. It seems it takes a couple of hours of the OS running to > trigger the bug. > > https://people.debian.org/~rrs/tmp/usb_1u-usbmon.txt.gz > > https://people.debian.org/~rrs/tmp/dmesg-usbmon.txt The usbmon trace shows two separate issues, one in software and one in hardware. The two issues may or may not be related. The software bug is in the driver for this device. Every 3 seconds it does a runtime suspend followed immediately by a resume, for no apparent reason. Even worse, it tries to communicate with the device during the time that it is suspended! The hardware bug is a series of spontaneous disconnections. Again, there's no obvious reason for this, although it's possible that the device doesn't like going into and out of suspend very often. (But there are a lot more suspends than disconnects.) It's also possible that the USB cable isn't making a firm connection. The final blow came when the driver tried to communicate with the device _as_ it was being suspended. That seemed to mess up the hardware so badly that it was unable to recover, and from that point it stopped working entirely. The timing may explain why it takes so long for the device to stop working. That doesn't happen until, by chance, the driver tries to communicate with the device as it is being suspended. Try doing this: Reboot. Then before the problem occurs, mount a debugfs filesystem on /sys/kernel/debug and make a copy of /sys/kernel/debug/usb/devices. Let's see what it says about the faulty card reader. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html