1. 04 Jul, 2008 4 commits
    • David Brownell's avatar
      USB: ohci - record data toggle after unlink · 29c8f6a7
      David Brownell authored
      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: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Leonid <leonidv11@gmail.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      29c8f6a7
    • David Brownell's avatar
      USB: ehci - fix timer regression · 056761e5
      David Brownell authored
      This patch fixes a regression in the EHCI driver's TIMER_IO_WATCHDOG
      behavior.  The patch "USB: EHCI: add separate IAA watchdog timer" changed
      how that timer is handled, so that short timeouts on the remaining
      timer (unfortunately, overloaded) would never be used.
      
      This takes a more direct approach, reorganizing the code slightly to
      be explicit about only the I/O watchdog role now being overridable.
      It also replaces a now-obsolete comment describing older timer behavior.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Leonid <leonidv11@gmail.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      056761e5
    • Oliver Neukum's avatar
      USB: fix cdc-acm resume() · 4b828abe
      Oliver Neukum authored
      cdc-acm has
      - a memory leak in resume()
      - will fail to reactivate the read code path if this is needed.
      his corrects it by deleting the useless relict code.
      Signed-off-by: default avatarOliver Neukum <oneukum@suse.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4b828abe
    • Ben Dooks's avatar
      OHCI: Fix problem if SM501 and another platform driver is selected · 3ee38d8b
      Ben Dooks authored
      If the SM501 and another platform driver, such as the SM501
      then we end up defining PLATFORM_DRIVER twice. This patch
      seperated the SM501 onto a seperate define of SM501_OHCI_DRIVER
      so that it can be selected without overwriting the original
      definition.
      Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
      Acked-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3ee38d8b
  2. 03 Jul, 2008 20 commits
  3. 02 Jul, 2008 11 commits
  4. 01 Jul, 2008 5 commits