1. 08 10月, 2008 1 次提交
  2. 04 9月, 2008 1 次提交
  3. 22 8月, 2008 2 次提交
  4. 14 8月, 2008 8 次提交
  5. 09 8月, 2008 1 次提交
  6. 07 8月, 2008 4 次提交
  7. 26 7月, 2008 1 次提交
  8. 22 7月, 2008 19 次提交
  9. 11 7月, 2008 1 次提交
  10. 07 7月, 2008 1 次提交
  11. 04 7月, 2008 1 次提交
    • D
      USB: ohci - record data toggle after unlink · 29c8f6a7
      David Brownell 提交于
      This patch fixes a problem with OHCI where canceling bulk or
      interrupt URBs may lose track of the right data toggle.  This
      seems to be a longstanding bug, possibly dating back to the
      Linux 2.4 kernel, which stayed hidden because
      
       (a) about half the time the data toggle bit was correct;
       (b) canceling such URBs is unusual; and
       (c) the few drivers which cancel these URBs either
            [1] do it only as part of shutting down, or
            [2] have fault recovery logic, which recovers.
      
      For those transfer types, the toggle is normally written back
      into the ED when each TD is retired.  But canceling bypasses
      the mechanism used to retire TDs ... so on average, half the
      time the toggle bit will be invalid after cancelation.
      
      The fix is simple:  the toggle state of any canceled TDs are
      propagated back to the ED in the finish_unlinks function.
      
      (Issue found by leonidv11@gmail.com ...)
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Leonid <leonidv11@gmail.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      29c8f6a7