1. 06 8月, 2008 1 次提交
    • A
      Fix USB storage hang on command abort · 580da348
      Alan Stern 提交于
      Okay, I found the cause of the hang.  It is a simple bug in the USB
      scatter-gather library, caused by changes added in response to the S-G
      chaining modification.
      
      This patch (as1125) fixes a bug in the USB scatter-gather library.
      Early exit from the S-G initialization loop does not reset the count of
      outstanding URBs.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      580da348
  2. 22 7月, 2008 28 次提交
  3. 07 7月, 2008 1 次提交
  4. 04 7月, 2008 2 次提交
  5. 21 6月, 2008 2 次提交
  6. 17 6月, 2008 1 次提交
  7. 12 6月, 2008 1 次提交
  8. 30 5月, 2008 4 次提交
    • R
      USB: add another scanner quirk · 598eff6d
      René Rebe 提交于
      Like the HP53{00,70} scanner other devices of the OEM Avision require
      the USB_QUIRK_STRING_FETCH_255 to correct set a configuration with
      "recent" Linux kernels.
      Signed-off-by: NRené Rebe <rene@exactcode.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      598eff6d
    • A
      USB: EHCI: suppress unwanted error messages · 3a31155c
      Alan Stern 提交于
      This patch (as1096) fixes an annoying problem: When a full-speed or
      low-speed device is plugged into an EHCI controller, it fails to
      enumerate at high speed and then is handed over to the companion
      controller.  But usbcore logs a misleading and unwanted error message
      when the high-speed enumeration fails.
      
      The patch adds a new HCD method, port_handed_over, which asks whether
      a port has been handed over to a companion controller.  If it has, the
      error message is suppressed.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      CC: David Brownell <david-b@pacbell.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      3a31155c
    • A
      USB: add all configs to the "descriptors" attribute · 217a9081
      Alan Stern 提交于
      This patch (as1094) changes the output of the "descriptors" binary
      attribute.  Now it will contain the device descriptor followed by all
      the configuration descriptors, not just the descriptor for the current
      config.
      
      Userspace libraries want to have access to the kernel's cached
      descriptor information, so they can learn about device characteristics
      without having to wake up suspended devices.  So far the only user of
      this attribute is the new libusb-1.0 library; thus changing its
      contents shouldn't cause any problems.
      
      This should be considered for 2.6.26, if for no other reason than to
      minimize the range of releases in which the attribute contains only the
      current config descriptor.
      
      Also, it doesn't hurt that the patch removes the device locking --
      which was formerly needed in order to know for certain which config was
      indeed current.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      217a9081
    • A
      USB: fix possible deadlock involving sysfs attributes · e16362a0
      Alan Stern 提交于
      There is a potential deadlock when the usb_generic driver is unbound
      from a device.  The problem is that generic_disconnect() is called
      with the device lock held, and it removes a bunch of device attributes
      from sysfs.  If a user task happens to be running an attribute method
      at the time, the removal will block until the method returns.  But at
      least one of the attribute methods (the store routine for power/level)
      needs to acquire the device lock!
      
      This patch (as1093) eliminates the deadlock by moving the calls to
      create and remove the sysfs attributes from the usb_generic driver
      into usb_new_device() and usb_disconnect(), where they can be invoked
      without holding the device lock.
      
      Besides, the other sysfs attributes are created when the device is
      registered and removed when the device is unregistered.  So it seems
      only fitting for the extra attributes to be created and removed at the
      same time.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e16362a0