I own an CanoScan N650U flatbed scanner. On my old laptop it worked like a charm. I got a new desktop PC one month ago and today I noticed that it does not work. I have media-gfx/sane-backends-1.0.24 sys-kernel/gentoo-sources-3.12.9 media-gfx/xsane-0.999 on both platforms (my old latop and the new desktop pc). If I run "sane-find-scanner" on my old laptop the scanner is correctly detected and works. The same command on the desktop pc freezes for some time and then either reports the scanner correctly or shows usb ids only. In both cases I get dmesg: xhci_hcd 0000:00:14.0: URB transfer length is wrong, xHC issue? req. len = 0, act. len = 4294967288 on the new desktop pc. Scanning is impossible and gives I/O errors. The main difference between the old laptop and the new desktop pc is that the old laptop has USB 2.0 ports only (using the ehci driver) while the new pc has USB 2.0 and 3.0 ports (using the xhci driver). But it makes no difference, if I connect the scanner to an USB 2.0 or 3.0 port on the new pc. Logs from the new pc can be found in the attachment.
Created attachment 369636 [details] dmesg output
Created attachment 369640 [details] lsusb
Created attachment 369642 [details] lspci.log
Did this start to happen with a particular version of those packages? Or is this a new install? Can you try some older and/or newer versions of those packages to see if this can be reproduced there? (For gentoo-sources, an EOL branch like 3.0, 3.2, 3.4 or 3.10 can be a conclusive downgrade; as for upgrading, trying git-sources instead can show you whether upstream development has fixed it since)
I've been using sane-backends-1.0.24-r1 with gentoo-sources-3.10.7, and I haven't seen this issue. On the other hand, my scanner uses a different backend than the original poster's does. I think I might have a spare scanner around here that uses the same backend as the CanoScan N650U, so I could try to dig it out and test with it.
I'm having a similar problem with a CanoScan LiDE 25. Looking at https://bbs.archlinux.org/viewtopic.php?id=165278 it seems like it's an xhci problem.
Please retry with sane-backends 1.0.25_pre* snapshot and kernel 4.0.5 or newer