|
|
|
@ -2182,16 +2182,17 @@ usb_bulk_transfer(struct libusb_device_handle *dev_handle,
@@ -2182,16 +2182,17 @@ usb_bulk_transfer(struct libusb_device_handle *dev_handle,
|
|
|
|
|
int *transferred, unsigned int timeout, |
|
|
|
|
struct cgpu_info *cgpu) |
|
|
|
|
{ |
|
|
|
|
uint16_t MaxPacketSize; |
|
|
|
|
int err, tries = 0; |
|
|
|
|
|
|
|
|
|
/* Limit length of transfer to the largest this descriptor supports
|
|
|
|
|
* and leave the higher level functions to transfer more if needed. */ |
|
|
|
|
#if 0 |
|
|
|
|
if (length > cgpu->usbdev->found->wMaxPacketSize) |
|
|
|
|
length = cgpu->usbdev->found->wMaxPacketSize; |
|
|
|
|
#endif |
|
|
|
|
if (length > 512) |
|
|
|
|
length = 512; |
|
|
|
|
if (cgpu->usbdev->PrefPacketSize) |
|
|
|
|
MaxPacketSize = cgpu->usbdev->PrefPacketSize; |
|
|
|
|
else |
|
|
|
|
MaxPacketSize = cgpu->usbdev->found->wMaxPacketSize; |
|
|
|
|
if (length > MaxPacketSize) |
|
|
|
|
length = MaxPacketSize; |
|
|
|
|
|
|
|
|
|
cg_rlock(&cgusb_fd_lock); |
|
|
|
|
err = libusb_bulk_transfer(dev_handle, endpoint, data, length, |
|
|
|
|