#10915: UHCI Short Packet Detect Not Enabled for Control Pipes ---------------------------+---------------------------- Reporter: akshay1994 | Owner: phoudoin Type: bug | Status: assigned Priority: normal | Milestone: R1 Component: Drivers/USB | Version: R1/Development Resolution: | Keywords: USB UHCI Blocked By: | Blocking: Has a Patch: 1 | Platform: All ---------------------------+---------------------------- Old description: > UHCI Short Packet Detect (SPD) is not enabled for Control Pipes. > Since, while processing transfers in the Finish-Thread, we check for > this, before checking for a short packet, short packet control transfers > would hang indefinitely, always coming out as Active, although the Host > Controller has retired them. > > You can repeat this behaviour, by making a control transfer request, > asking for any descriptor, with length set to a value greater than the > length of the descriptor (atleast by 7 in my case, else the next TD is > status stage, and it succeeds). New description: UHCI Short Packet Detect (SPD) is not enabled for Control Pipes. Since, while processing transfers in the Finish-Thread, we check for this, before checking for a short packet, short packet control transfers would hang indefinitely, always coming out as Active, although the Host Controller has retired them. You can repeat this behaviour, by making a control transfer request, asking for any descriptor, with length set to a value greater than the length of the descriptor (atleast by 7 in my case, else the next TD is status stage, and it succeeds). -- Comment (by pulkomandy): Well, I tested it before applying and my USB seems to still be working. I did more extensive tests with avrdude yesterday and it doesn't lockup like it did before anymore, however there are some other problems. Sometimes avrdude will fail to enumerate my programmer, and sometimes it will fail during programming, leaving the target chip in an unusable state with invalid fuse values, so things aren't perfect yet, but already better than without the patch. -- Ticket URL: <https://dev.haiku-os.org/ticket/10915#comment:6> Haiku <https://dev.haiku-os.org> Haiku - the operating system.