ret = libusb_bulk_transfer(usb->devhdl, EP_BITSTREAM,
(unsigned char *)stream, length,
&xfer_len, USB_TIMEOUT);
ret = libusb_bulk_transfer(usb->devhdl, EP_BITSTREAM,
(unsigned char *)stream, length,
&xfer_len, USB_TIMEOUT);
return SR_ERR;
}
if (xfer_len != (int)length) {
sr_err("Failed to transfer bitstream: incorrect length "
"%d != %d.", xfer_len, (int)length);
return SR_ERR;
}
if (xfer_len != (int)length) {
sr_err("Failed to transfer bitstream: incorrect length "
"%d != %d.", xfer_len, (int)length);
sr_info("FPGA bitstream download of %d bytes done.", xfer_len);
/* This delay appears to be necessary for reliable operation. */
sr_info("FPGA bitstream download of %d bytes done.", xfer_len);
/* This delay appears to be necessary for reliable operation. */
ret = libusb_bulk_transfer(usb->devhdl, EP_COMMAND,
(unsigned char *)command, cmd_len * 2,
&xfer_len, USB_TIMEOUT);
ret = libusb_bulk_transfer(usb->devhdl, EP_COMMAND,
(unsigned char *)command, cmd_len * 2,
&xfer_len, USB_TIMEOUT);
ret = libusb_bulk_transfer(usb->devhdl, EP_REPLY,
(unsigned char *)reply, reply_len * 2,
&xfer_len, USB_TIMEOUT);
ret = libusb_bulk_transfer(usb->devhdl, EP_REPLY,
(unsigned char *)reply, reply_len * 2,
&xfer_len, USB_TIMEOUT);