From ec17ebde0827b186c598200afd679e6dad486e7e Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 20 Aug 2014 22:00:37 +0200 Subject: [PATCH] UHCI: Enable short packet detection for all transfers. As suggested by akshay, there is no reason to do this only for control transfers. All input transfers can have short packets and we want to detect those and trigger the "end of transfer" code when a short packet happens. Fixes #11087. --- src/add-ons/kernel/busses/usb/uhci.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/add-ons/kernel/busses/usb/uhci.cpp b/src/add-ons/kernel/busses/usb/uhci.cpp index 6347430642..e868d73856 100644 --- a/src/add-ons/kernel/busses/usb/uhci.cpp +++ b/src/add-ons/kernel/busses/usb/uhci.cpp @@ -2112,8 +2112,7 @@ UHCI::CreateDescriptor(Pipe *pipe, uint8 direction, size_t bufferSize) result->status |= TD_CONTROL_ISOCHRONOUS; else { result->status |= TD_CONTROL_3_ERRORS; - if (direction == TD_TOKEN_IN - && (pipe->Type() & USB_OBJECT_CONTROL_PIPE) != 0) + if (direction == TD_TOKEN_IN) result->status |= TD_CONTROL_SPD; } if (pipe->Speed() == USB_SPEED_LOWSPEED)