1. 23 Apr, 2004 9 commits
    • David Brownell's avatar
      [PATCH] USB: re-factor enumeration logic · f0b314c4
      David Brownell authored
      This is an update to some patches from the December/January
      timeframe, which will help sort out some of the mess for
      drivers that need to use the reset logic.  It's one of the
      last significant patches in my gadget-2.6 tree that haven't
      yet been merged into the main kernel tree.
      
      
      More refactoring of the enumeration code paths:
      
       * The first half of usb_new_device() becomes the second half of a new
         hub_port_init() routine (resets, sets address, gets descriptor)
      
       * The middle chunk of hub_port_connect_change() becomes the first half
         of that new hub_port_init() routine.
      
       * Khubd uses that new routine in hub_port_connect_change().
      
       * Now usb_new_device() cleans up better after faults, and has
         a more useful locking policy (caller owns dev->serialize).
      
       * Has related minor cleanups including commenting some of
         the curious request sequences coming from khubd.
      
      Refactoring means a lot of the current usb_reset_device() logic won't
      need to stay an imperfect clone of the enumeration code ... soon, it
      can just call hub_port_init().
      
      Even without touching usb_reset_device(), this eliminates a deadlock.
      Previously, address0_sem was used both during probe and during reset,
      so probe routines can't implement DFU firmware download (involves a
      reset; DFU also uncovers other problems) or safely recover from probe
      faults by resetting (usb-storage can try that).  Now that lock is no
      longer held during probe(); so those deadlocks are gone.  (And some
      drivers, like at76c503, can start to remove ugly workarounds.)
      f0b314c4
    • David Brownell's avatar
      [PATCH] USB: usbtest, smp unlink modes · ce77b50c
      David Brownell authored
      Handle some SMP-visible unlink states better.
      ce77b50c
    • Greg Kroah-Hartman's avatar
    • Alan Stern's avatar
      [PATCH] USB: Eliminate dead code from the UHCI driver · 85d0f7fa
      Alan Stern authored
      I'm not sure what this piece of code is doing in the UHCI driver.  It
      looks like someone envisioned queuing several URBs for the same endpoint
      simultaneously.  Anyway, the driver can't do that and this code can never
      run.
      85d0f7fa
    • Alan Stern's avatar
      [PATCH] USB: Implement endpoint_disable() for UHCI · 44fedd70
      Alan Stern authored
      This patch implements the endpoint_disable method for the UHCI driver, as
      you requested a while back.  It guarantees that during unbinding events
      (disconnect, configuration change, rmmod) the UHCI driver will have
      finished using every URB for the interface being unbound.  It doesn't
      quite guarantee that the completion handlers will have finished running,
      but it would take a pretty unlikely race to violate that assumption.  (I
      think it's the same with the OHCI and EHCI drivers.)
      
      Despite the patch numbering this one applies _after_ as249, which is a
      more important bugfix.
      44fedd70
    • Alan Stern's avatar
      [PATCH] USB: unusual_devs.h update · bfdcf3ef
      Alan Stern authored
      On Tue, 20 Apr 2004, Damian Ivereigh wrote:
      
      > Here is the output of dmesg when plugging in an IBM USB MemKey
      >
      > usb-storage: This device (0a16,8888,0100 S 06 P 50) has unneeded SubClass and Protocol entries in unusual_devs.h
      >    Please send a copy of this message to <linux-usb-devel@lists.sourceforge.net>
      
      Thank you for sending this in.  Greg and Pete, here's the patch.
      bfdcf3ef
    • Alan Stern's avatar
      [PATCH] USB: Remove unusual_devs entries for Minolta DiMAGE 7, 7Hi · d22cb6bc
      Alan Stern authored
      It looks safe to conclude that the unusual_devs.h entries for the Minolta
      DiMAGE 7x cameras aren't needed.  (Michael has tested the 7Hi and it's
      definitely unnecessary.)  The two other DiMAGE entries probably aren't
      needed either, but we don't have any evidence of that so I'm leaving them.
      d22cb6bc
    • David Brownell's avatar
      [PATCH] USB: root hubs can report remote wakeup feature · 1d6569cd
      David Brownell authored
      The patch lets HCDs report the root hub remote wakeup feature to usbcore
      through config descriptors, and lets usbcore say whether or not remote
      wakeup (of host from sleep, by devices) should be enabled.
      
      Both OHCI and UHCI HCDs have some remote wakeup support already; I'm not
      too sure how well it works.  Given (separate) patches, their root hubs
      can start to act more like other hubs in this area too.  That'll make
      it easier to start using USB suspend mode.
      1d6569cd
    • David Brownell's avatar
      [PATCH] USB: fix usbfs iso interval problem · 2aad220d
      David Brownell authored
      In 2.6, ISO transfers on USB require a value for urb->interval ... which
      usbfs didn't provide (until this patch), or let user mode drivers specify.
      
      This patch initializes the urb->interval from the endpoint's descriptor,
      so ISO transfers should now work from userspace.  It also fixes a related
      problem for interrupt transfers.
      2aad220d
  2. 22 Apr, 2004 31 commits