[haiku-bugs] Re: [Haiku] #10867: EHCI Control Transfers : Hang if length of buffer > size of input data

  • From: "akshay1994" <trac@xxxxxxxxxxxx>
  • Date: Sun, 22 Jun 2014 08:50:30 -0000

#10867: EHCI Control Transfers : Hang if length of buffer > size of input data
---------------------------+----------------------------
   Reporter:  akshay1994   |      Owner:  phoudoin
       Type:  bug          |     Status:  assigned
   Priority:  normal       |  Milestone:  R1
  Component:  Drivers/USB  |    Version:  R1/Development
 Resolution:               |   Keywords:  USB EHCI
 Blocked By:               |   Blocking:
Has a Patch:  1            |   Platform:  All
---------------------------+----------------------------

Comment (by akshay1994):

 I have modified and corrected the patch.

 Changes :
 * The Alternate_Next_qTD for all the data descriptors in a control request
 point to the Status Descriptor of that request. For all others, it  points
 to the Stray Descriptor, as before.
 * In the Finishing Transfers Worker, if we detect a Short Packet, we mark
 the transfer as done, if it is a Bulk/Interrupt transfer (as no further
 descriptors were processed, and a horizontal jump to the next queue head
 took place); and jump to the Status descriptor, in case of a Control
 Transfer.

--
Ticket URL: <https://dev.haiku-os.org/ticket/10867#comment:9>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: