libusb async: Even if you aren't expecting to receive data, you must call handle_events!

If you don't do this, on Linux, you'll eventually run into usbfs's memory limit. (see /sys/module/usbcore/parameters/usbfs_memory_mb). One part of the libusb_handle_events method is to Therefore, make sure to call libusb_handle_events in your main loop.

If you're getting a libusb_error_no_mem error, this could be why.