mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -05:00
Resolves #155 - LIBUSB_PIPE_ERROR when trying to start R820T tuner
This commit is contained in:
@@ -33,6 +33,7 @@ import sample.complex.ComplexBuffer;
|
||||
import source.tuner.TunerManager;
|
||||
import util.ThreadPool;
|
||||
|
||||
import javax.usb.UsbException;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -140,6 +141,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
|
||||
{
|
||||
//TODO: broadcast to each listener that this source has an error and is shutting down
|
||||
|
||||
Reference in New Issue
Block a user