-#define BITSTREAM_MAX_SIZE 262144 /* bitstream size limit for safety */
-#define BITSTREAM_HEADER_SIZE 4 /* transfer header size in bytes */
+#define BITSTREAM_MAX_SIZE (256 * 1024) /* bitstream size limit for safety */
+#define BITSTREAM_HEADER_SIZE 4 /* transfer header size in bytes */
/* Load a bitstream file into memory. Returns a newly allocated array
* consisting of a 32-bit length field followed by the bitstream data.
*/
static unsigned char *load_bitstream_file(const char *filename, int *length_p)
{
/* Load a bitstream file into memory. Returns a newly allocated array
* consisting of a 32-bit length field followed by the bitstream data.
*/
static unsigned char *load_bitstream_file(const char *filename, int *length_p)
{
/* Transfer the entire bitstream in one URB. */
ret = libusb_bulk_transfer(usb->devhdl, EP_BITSTREAM,
/* Transfer the entire bitstream in one URB. */
ret = libusb_bulk_transfer(usb->devhdl, EP_BITSTREAM,
- stream, length, &xfer_len, USB_TIMEOUT);
+ stream, length, &xfer_len, USB_TIMEOUT_MS);
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. */
xfer_len = 0;
ret = libusb_bulk_transfer(usb->devhdl, EP_COMMAND,
(unsigned char *)command, cmd_len * 2,
xfer_len = 0;
ret = libusb_bulk_transfer(usb->devhdl, EP_COMMAND,
(unsigned char *)command, cmd_len * 2,
if (ret != 0) {
sr_dbg("Failed to send command %d: %s.",
LWLA_TO_UINT16(command[0]), libusb_error_name(ret));
if (ret != 0) {
sr_dbg("Failed to send command %d: %s.",
LWLA_TO_UINT16(command[0]), libusb_error_name(ret));
xfer_len = 0;
ret = libusb_bulk_transfer(usb->devhdl, EP_REPLY,
(unsigned char *)reply, reply_len * 4,
xfer_len = 0;
ret = libusb_bulk_transfer(usb->devhdl, EP_REPLY,
(unsigned char *)reply, reply_len * 4,
- ret = lwla_receive_reply(usb, reply, G_N_ELEMENTS(reply), 1);
+ ret = lwla_receive_reply(usb, reply, ARRAY_SIZE(reply), 1);