Hi, ioctl(fd, USBDEVFS_REAPURB, arg) doesn't read the pointer pointed to by arg, it _fills_ it. Here is a patch.
Created attachment 20548 [details] fix USBDEVFS_REAPURB
This was fixed as part of a big URB handling cleanup in r10286.