From 507db0376297d52ae8f6d71e83cf005235d6dfc9 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Thu, 20 Sep 2018 11:06:26 +0200 Subject: [PATCH] winusb: on acl read error, reset pipe and resubmit transfer --- platform/windows/hci_transport_h2_winusb.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/platform/windows/hci_transport_h2_winusb.c b/platform/windows/hci_transport_h2_winusb.c index 606dee38b..4896e6764 100644 --- a/platform/windows/hci_transport_h2_winusb.c +++ b/platform/windows/hci_transport_h2_winusb.c @@ -531,7 +531,17 @@ static void usb_process_acl_in(btstack_data_source_t *ds, btstack_data_source_ca // IO_INCOMPLETE -> wait for completed btstack_run_loop_enable_data_source_callbacks(ds, DATA_SOURCE_CALLBACK_READ); } else { - log_error("usb_process_acl_in: error writing"); + log_error("usb_process_acl_in: error reading"); + + // Reset Pipe + err = WinUsb_ResetPipe(usb_interface_0_handle, acl_in_addr); + log_info("WinUsb_ResetPipe: result %u", err); + if (err){ + log_info("WinUsb_ResetPipe error %u", GetLastError()); + } + + // re-submit transfer + usb_submit_acl_in_transfer(); } return; }