I am using libusb-1.0. Sometimes when I call:
int rc = libusb_bulk_transfer(handle_,
EP_IN_ADDR,
(unsigned char *)buf_,
64,
&read_,
0);
it returns rc = 0 (no error) and read_ = 0 (zero number of bytes received). But I have specified infinite timeout (last argument), so isn't `libusb_bulk_transfer' supposed to block until I have some data?
Sometimes, it returns rc = 0 (no error) and read_ == 0 (zero number of bytes received).
A bulk endpoint can send you packets with zero bytes of data, called zero packets. This is not an error condition.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With