int response_length;
int response_bytes_read;
int remaining_length;
+ int rigol_ds1000;
};
/* Some USBTMC-specific enums, as defined in the USBTMC standard. */
}
}
found = 1;
+ uscpi->rigol_ds1000 = des.idVendor == 0x1ab1 &&
+ des.idProduct == 0x0588;
}
libusb_free_config_descriptor(confdes);
if (found)
uscpi->bulk_in_ep, libusb_error_name(ret));
return SR_ERR;
}
+ if (!uscpi->rigol_ds1000)
if ((ret = libusb_clear_halt(usb->devhdl, uscpi->bulk_out_ep)) < 0) {
sr_err("Failed to clear halt/stall condition for EP %d: %s.",
uscpi->bulk_out_ep, libusb_error_name(ret));
if ((ret = libusb_clear_halt(usb->devhdl, uscpi->bulk_in_ep)) < 0)
sr_err("Failed to clear halt/stall condition for EP %d: %s.",
uscpi->bulk_in_ep, libusb_error_name(ret));
+ if (!uscpi->rigol_ds1000)
if ((ret = libusb_clear_halt(usb->devhdl, uscpi->bulk_out_ep)) < 0)
sr_err("Failed to clear halt/stall condition for EP %d: %s.",
uscpi->bulk_out_ep, libusb_error_name(ret));