Browse Source

Reinstate the maxPacketSize determined by the end descriptor but allow the driver to override it.

nfactor-troky
Con Kolivas 12 years ago
parent
commit
abdf7510c9
  1. 13
      usbutils.c
  2. 1
      usbutils.h

13
usbutils.c

@ -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,

1
usbutils.h

@ -176,6 +176,7 @@ struct cg_usb_device { @@ -176,6 +176,7 @@ struct cg_usb_device {
char *buffer;
uint32_t bufsiz;
uint32_t bufamt;
uint16_t PrefPacketSize;
};
#define USB_NOSTAT 0

Loading…
Cancel
Save