Ticket #10867: 0001-Fix-EHCI-Control-Transfers.patch

File 0001-Fix-EHCI-Control-Transfers.patch, 933 bytes (added by akshay1994, 10 years ago)

Patch (updated)

  • src/add-ons/kernel/busses/usb/ehci.cpp

    From 74fedc620e94f75436555da22e75baeed3f6b3a4 Mon Sep 17 00:00:00 2001
    From: Akshay Jaggi <akshay1994.leo@gmail.com>
    Date: Sat, 24 May 2014 13:15:11 +0000
    Subject: [PATCH] Fix EHCI Control Transfers
    
    ---
     src/add-ons/kernel/busses/usb/ehci.cpp | 4 +++-
     1 file changed, 3 insertions(+), 1 deletion(-)
    
    diff --git a/src/add-ons/kernel/busses/usb/ehci.cpp b/src/add-ons/kernel/busses/usb/ehci.cpp
    index aeed838..b4ee283 100644
    a b EHCI::FinishTransfers()  
    15491549
    15501550            while (descriptor) {
    15511551                uint32 status = descriptor->token;
    1552                 if (status & EHCI_QTD_STATUS_ACTIVE) {
     1552                if ((status & EHCI_QTD_STATUS_ACTIVE) != 0
     1553                    && ((status >> EHCI_QTD_BYTES_SHIFT) & EHCI_QTD_BYTES_MASK)
     1554                        != 0 ) {
    15531555                    // still in progress
    15541556                    TRACE("qtd (0x%08" B_PRIx32 ") still active\n", descriptor->this_phy);
    15551557                    break;