1. 29 Oct, 2008 4 commits
    • Alan Stern's avatar
      USB: prevent autosuspend during hub initialization · 61fbeba1
      Alan Stern authored
      This patch (as1153) fixes a potential problem in hub initialization.
      Starting in 2.6.28, initialization was split into several tasks to
      help speed up booting.  This opens the possibility that the hub may be
      autosuspended before all the initialization tasks can complete.
      
      Normally that wouldn't matter, but with incomplete initialization
      there is a risk that the hub would never autoresume -- especially if
      devices were plugged into the hub beforehand.  The solution is a
      simple one-line change to suppress autosuspend until the
      initialization is finished.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      61fbeba1
    • Jens Taprogge's avatar
      USB: Unusual dev for the "Kyocera / Contax SL300R T*" digital camera. · 74511bb3
      Jens Taprogge authored
      The camera reports an incorrect size and fails to handle PREVENT-ALLOW
      MEDIUM REMOVAL commands.  The patch marks the camera as an unusual dev
      and adds the flags to enable the workarounds for both shortcomings.
      Signed-off-by: default avatarJens Taprogge <jens.taprogge@taprogge.org>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Phil Dibowitz <phil@ipom.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      74511bb3
    • Chris Malley's avatar
      USB: usbtmc: Use explicit unsigned type for input buffer instead of char* · b361a6e3
      Chris Malley authored
      Silences compiler warning about comparison with 0x80, and type now matches the
      corresponding _bulk_out function.
      
      drivers/usb/class/usbtmc.c: In function ‘usbtmc_ioctl_abort_bulk_in’:
      drivers/usb/class/usbtmc.c:163: warning: comparison is always false due to limited range of data type
      Signed-off-by: default avatarChris Malley <mail@chrismalley.co.uk>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      b361a6e3
    • Alan Stern's avatar
      USB: fix crash when URBs are unlinked after the device is gone · cde217a5
      Alan Stern authored
      This patch (as1151) protects usbcore against drivers that try to
      unlink an URB after the URB's device or bus have been removed.  The
      core does not currently check for this, and certain drivers can cause
      a crash if they are running while an HCD is unloaded.
      
      Certainly it would be best to fix the guilty drivers.  But a little
      defensive programming doesn't hurt, especially since it appears that
      quite a few drivers need to be fixed.
      
      The patch prevents the problem by grabbing a reference to the device
      while an unlink is in progress and using a new spinlock to synchronize
      unlinks with device removal.  (There's no need to acquire a reference
      to the bus as well, since the device structure itself keeps a
      reference to the bus.)  In addition, the kerneldoc is updated to
      indicate that URBs should not be unlinked after the disconnect method
      returns.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      cde217a5
  2. 28 Oct, 2008 36 commits