1. 03 Jul, 2008 2 commits
  2. 17 Jun, 2008 1 commit
  3. 11 Jun, 2008 1 commit
  4. 29 May, 2008 4 commits
    • René Rebe's avatar
      USB: add another scanner quirk · 598eff6d
      René Rebe authored
      
      
      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: default avatarRené Rebe <rene@exactcode.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      598eff6d
    • Alan Stern's avatar
      USB: EHCI: suppress unwanted error messages · 3a31155c
      Alan Stern authored
      
      
      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: default avatarAlan Stern <stern@rowland.harvard.edu>
      CC: David Brownell <david-b@pacbell.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3a31155c
    • Alan Stern's avatar
      USB: add all configs to the "descriptors" attribute · 217a9081
      Alan Stern authored
      
      
      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: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      217a9081
    • Alan Stern's avatar
      USB: fix possible deadlock involving sysfs attributes · e16362a0
      Alan Stern authored
      
      
      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: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      e16362a0
  5. 20 May, 2008 1 commit
    • Greg Kroah-Hartman's avatar
      USB: Core: fix race in device_create · c013d040
      Greg Kroah-Hartman authored
      
      
      There is a race from when a device is created with device_create() and
      then the drvdata is set with a call to dev_set_drvdata() in which a
      sysfs file could be open, yet the drvdata will be NULL, causing all
      sorts of bad things to happen.
      
      This patch fixes the problem by using the new function,
      device_create_drvdata().
      
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c013d040
  6. 14 May, 2008 1 commit
    • Alan Stern's avatar
      USB: create attributes before sending uevent · 2e5f10e4
      Alan Stern authored
      
      
      This patch (as1087d) fixes a long-standing problem in usbcore: Device,
      interface, and endpoint attributes aren't added until _after_ the
      creation uevent has already been broadcast.
      
      Unfortunately there are a few attributes which cannot be created that
      early.  The "descriptors" attribute is binary and so must be created
      separately.  The power-management attributes can't be created until
      the dev/power/ group exists.  And the interface string can vary from
      one altsetting to another, so it has to be created dynamically.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2e5f10e4
  7. 02 May, 2008 1 commit
    • Yoshihiro Shimoda's avatar
      USB: fix cannot work usb storage when using ohci-sm501 · e2722528
      Yoshihiro Shimoda authored
      
      
      When I used ohci-sm501, hcd_alloc_coherent() in map_urb_for_dma() is not
      called, because usb_sg_init() always sets URB_NO_TRANSFER_DMA_MAP.
      
      dmesg (CONFIG_USB_STORAGE_DEBUG enabled):
      
      usb-storage: Bulk Command S 0x43425355 T 0x1 L 36 F 128 Trg 0 LUN 0 CL 6
      usb-storage: usb_stor_bulk_transfer_buf: xfer 31 bytes
      usb-storage: Status code 0; transferred 31/31
      usb-storage: -- transfer complete
      usb-storage: Bulk command transfer result=0
      usb-storage: usb_stor_bulk_transfer_sglist: xfer 36 bytes, 1 entries
      usb-storage: Status code -75; transferred 0/36
      usb-storage: -- babble
      usb-storage: Bulk data transfer result 0x3
      usb-storage: Attempting to get CSW...
      usb-storage: usb_stor_bulk_transfer_buf: xfer 13 bytes
      usb-storage: Status code 0; transferred 13/13
      usb-storage: -- transfer complete
      usb-storage: Bulk status result = 0
      usb-storage: Bulk Status S 0x53425355 T 0x1 R 0 Stat 0x0
      usb-storage: scsi cmd done, result=0x2
      Signed-off-by: default avatarYoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      e2722528
  8. 29 Apr, 2008 1 commit
  9. 24 Apr, 2008 26 commits
  10. 18 Apr, 2008 1 commit
  11. 24 Mar, 2008 1 commit