diff options
| author | Ha Thach <[email protected]> | 2023-08-16 16:01:16 +0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-08-16 16:01:16 +0700 |
| commit | 1fdf29075d4e613eacfa881166015263797db0f6 (patch) | |
| tree | 0f5244a66dd11060f9c35d49f22ca026d171e29c /src/portable | |
| parent | 7537985c080e439f6f97a021ce49f5ef48979c78 (diff) | |
| parent | f4845e4e6cc2faca4e60cd83959850f27d3f3076 (diff) | |
Merge pull request #2221 from hathach/ehci-halted-error
EHCI more fixes
Diffstat (limited to 'src/portable')
| -rw-r--r-- | src/portable/ehci/ehci.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/portable/ehci/ehci.c b/src/portable/ehci/ehci.c index 79811985c..c93c33fc0 100644 --- a/src/portable/ehci/ehci.c +++ b/src/portable/ehci/ehci.c @@ -578,7 +578,9 @@ void qhd_xfer_complete_isr(ehci_qhd_t * qhd) { if ( qtd_overlay->halted ) { if (qtd_overlay->xact_err || qtd_overlay->err_count == 0 || qtd_overlay->buffer_err || qtd_overlay->babble_err) { // Error count = 0 often occurs when device disconnected, or other bus-related error + // clear halted bit if not caused by STALL to allow more transfer xfer_result = XFER_RESULT_FAILED; + qtd_overlay->halted = false; TU_LOG3(" QHD xfer err count: %d\n", qtd_overlay->err_count); // TU_BREAKPOINT(); // TODO skip unplugged device }else { |
