1. 11 8月, 2010 3 次提交
    • A
      USB: EHCI: EHCI 1.1 addendum: preparation · aa4d8342
      Alek Du 提交于
      EHCI 1.1 addendum introduced several energy efficiency extensions for
      EHCI USB host controllers:
      1. LPM (link power management)
      2. Per-port change
      3. Shorter periodic frame list
      4. Hardware prefetching
      
      This patch is intended to define the HW bits and debug interface for
      EHCI 1.1 addendum. The LPM and Per-port change patches will be sent out
      after this patch.
      Signed-off-by: NJacob Pan <jacob.jun.pan@intel.com>
      Signed-off-by: NAlek Du <alek.du@intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      aa4d8342
    • I
      USB: otg.h: Fix the mixup in parameters order. · 6e1c3b46
      Igor Grinberg 提交于
      otg_io_write() function does not follow the declaration of
      struct otg_io_access_ops.
      Signed-off-by: NIgor Grinberg <grinberg@compulab.co.il>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6e1c3b46
    • A
      USB: don't stop root-hub status polls too soon · 6d88e679
      Alan Stern 提交于
      This patch (as1390) fixes a problem that crops up when a UHCI host
      controller is unbound from uhci-hcd while there are still some active
      URBs.  The URBs have to be unlinked when the root hub is unregistered,
      and uhci-hcd relies upon root-hub status polls as part of its
      unlinking procedure.  But usb_hcd_poll_rh_status() won't make those
      status calls if hcd->rh_registered is clear, and the flag is cleared
      _before_ the unregistration takes place.
      
      Since hcd->rh_registered is used for other things and needs to be
      cleared early, the solution is to add a new flag (rh_pollable) and use
      it instead.  It gets cleared _after_ the root hub is unregistered.
      
      Now that the status polls don't end too soon, we have to make sure
      they also don't occur too late -- after the root hub's usb_device
      structure or the HCD's private structures are deallocated.  Therefore
      the patch adds usb_get_device() and usb_put_device() calls to protect
      the root hub structure, and it adds an extra del_timer_sync() to
      prevent the root-hub timer from causing an unexpected status poll.
      
      This additional complexity would not be needed if the HCD framework
      had provided separate stop() and release() callbacks instead of just
      stop().  This lack could be fixed at some future time (although it
      would require changes to every host controller driver); when that
      happens this patch won't be needed any more.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6d88e679
  2. 10 8月, 2010 37 次提交