Comment 19 for bug 559892

Revision history for this message
Martin Pitt (pitti) wrote :

Thanks a lot for the strace. This revealed something interesting which might point out the root cause:

15840 open("/dev/bus/usb/006/002", O_RDWR) = 42
15840 ioctl(42, USBDEVFS_CONTROL, 0x7fffd8f3b9e0) = 4
15840 ioctl(42, USBDEVFS_CONTROL, 0x7fffd8f3b9e0) = 4
15840 ioctl(42, USBDEVFS_CONTROL, 0x7fffd8f3bb00) = -1 EILSEQ (Invalid or incomplete multibyte or wide character)

Assuming that you attached the mouse to the same USB port as at the time when you supplied the udev and kernel logs, I believe that this is the mouse. Probing the next device then apparently causes the USB reset:

15840 close(42) = 0
15840 open("/dev/bus/usb/004/002", O_RDWR) = 42
15840 ioctl(42, USBDEVFS_CONTROL, 0x7fffd8f3b9e0) = 4
15840 ioctl(42, USBDEVFS_CONTROL, 0x7fffd8f3b9e0) = 4
15840 ioctl(42, USBDEVFS_CONTROL, 0x7fffd8f3b9e0) = 4
15840 ioctl(42, USBDEVFS_CONTROL, 0x7fffd8f3b9e0) = 4
15840 ioctl(42, USBDEVFS_CONTROL, 0x7fffd8f3bb00) = -1 EPIPE (Broken pipe)

at which point the kernel re-detects the devices, RB re-probes all USB devices, and the cycle starts again.

I'll forward this to upstream with a few thoughts.