mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -05:00
Merge pull request #157 from DSheirer/155-libusb-pipe-error-on-resubmit
Resolves #155 - adds usb endpoint clear halt when attempting to resubmit transfer buffer
This commit is contained in:
@@ -331,6 +331,28 @@ public class USBTransferProcessor implements TransferCallback
|
||||
{
|
||||
mTransfersInProgress.add(transfer);
|
||||
}
|
||||
else if(result == LibUsb.ERROR_PIPE)
|
||||
{
|
||||
int resetResult = LibUsb.clearHalt(mDeviceHandle, USB_BULK_TRANSFER_ENDPOINT);
|
||||
|
||||
if(resetResult == LibUsb.SUCCESS)
|
||||
{
|
||||
int resubmitResult = LibUsb.submitTransfer(transfer);
|
||||
|
||||
if(resubmitResult == LibUsb.SUCCESS)
|
||||
{
|
||||
mTransfersInProgress.add(transfer);
|
||||
}
|
||||
else
|
||||
{
|
||||
mLog.error(mDeviceName + " - error resubmitting transfer after endpoint clear halt");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mLog.error(mDeviceName + " - unable to clear device endpoint halt");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mAvailableTransfers.add(transfer);
|
||||
|
||||
Reference in New Issue
Block a user