1. 28 Oct, 2005 40 commits
    • Henk's avatar
      [PATCH] USB: Buffer overflow patch for Yealink driver · af64a5eb
      Henk authored
      Just a small patch that fixes a small parameter validation bug.
      
        drivers/usb/input/map_to_7segment.h:
          This patch fixes the broken parameter validation in the char to seg7
          conversion. This could cause out-of-bounds memory references.
      
        MAINTAINERS:
          Yealink maintainer info now in sorted order.
      
        Documentation/input/yealink.txt:
          Added a Q&A section that answers some common questions.
      Signed-off-by: default avatarHenk <Henk.Vergonet@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
      006491df1a13f85ad245d1039dfdf20e49c394fd
      af64a5eb
    • Alan Stern's avatar
      [PATCH] UHCI: Improve handling of iso TDs · b81d3436
      Alan Stern authored
      The uhci-hcd driver is fairly lax about the way it handles isochronous
      transfers.  This patch (as579) improves it in three respects:
      
      	TDs for a new URB aren't added to the schedule until all of
      	them have been allocated.  This way there's no risk of the
      	controller executing some of them when an allocation fails.
      
      	TDs for an unlinked URB are removed from the schedule as soon
      	as the URB is unlinked, rather than waiting until the URB is
      	given back.  This way there's no risk of the controller still
      	executing a TD after the URB completes.
      
      	The urb->error_count values are now reported correctly.
      	Although since they aren't used in any drivers except for
      	debug messages in the system log, probably nobody cares.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      b81d3436
    • Alan Stern's avatar
      [PATCH] USB: Rename hcd->hub_suspend to hcd->bus_suspend · 0c0382e3
      Alan Stern authored
      This patch (as580) is perhaps the only result from the long discussion I
      had with David about his changes to the root-hub suspend/resume code.  It
      renames the hub_suspend and hub_resume methods in struct usb_hcd to
      bus_suspend and bus_resume.  These are more descriptive names, since the
      methods really do suspend or resume an entire USB bus, and less likely to
      be confused with the hub_suspend and hub_resume routines in hub.c.
      
      It also takes David's advice about removing the layer of bus glue, where
      those methods are called.  And it implements a related change that David
      made to the other HCDs but forgot to put into dummy_hcd.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      0c0382e3
    • Alan Stern's avatar
      [PATCH] UHCI: unify BIOS handoff and driver reset code · bb200f6e
      Alan Stern authored
      This patch (as574) updates the PCI BIOS usb-handoff code for UHCI
      controllers, making it work like the reset routines in uhci-hcd.  This
      allows uhci-hcd to drop its own routines in favor of the new ones
      (code-sharing).
      
      Once the patch is merged we can turn the usb-handoff option on
      permanently, as far as UHCI is concerned.  OHCI and EHCI may still have
      some issues.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      bb200f6e
    • Alan Stern's avatar
      [PATCH] g_file_storage: fix obscure race condition · a922c687
      Alan Stern authored
      This patch (as575) fixes an unlikely race in the g_file_storage driver.
      The problem can occur only when the driver is unbound before its
      initialization routine has finished.
      
      I also took the opportunity to replace kmalloc/memset with kzalloc.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a922c687
    • Daniel Ritz's avatar
      [PATCH] usb/input/touchkit: add more device IDs · 3f8c03ee
      Daniel Ritz authored
      add two more device IDs from eGalax' programming guide.
      thanks to Jonathan Hopper <jrhopper () gmail ! com>  for pointing out.
      Signed-off-by: default avatarDaniel Ritz <daniel.ritz@gmx.ch>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/input/touchkitusb.c |    2 ++
       1 file changed, 2 insertions(+)
      3f8c03ee
    • Phil Dibowitz's avatar
      [PATCH] Add unusual_devs for iPod Nano · 880a9b5e
      Phil Dibowitz authored
      This adds US_FL_FIX_CAPACITY for yet _another_ entire block of Apple
      productIds. They really can't seem to get this right. This one is for
      the iPod Nano. Reported by Tyson Vinson <lornoss@gmail.com>.
      Signed-off-by: default avatarPhil Dibowitz <phil@ipom.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/storage/unusual_devs.h |   10 ++++++++++
       1 file changed, 10 insertions(+)
      880a9b5e
    • Phil Dibowitz's avatar
      [PATCH] Add unusual_dev for iBeat · e4a16e0c
      Phil Dibowitz authored
      This patch adds the US_FL_IGNORE_RESIDUE flag for the TrekStor i.Beat
      Joy 2.0. Original version of this patch was sent by Stefan Werner
      <dustbln@gmx.de> with test/rediff/etc. by me.
      Signed-off-by: default avatarPhil Dibowitz <phil@ipom.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/storage/unusual_devs.h |    7 +++++++
       1 file changed, 7 insertions(+)
      e4a16e0c
    • Daniel Drake's avatar
      [PATCH] usb-storage: Readd missing SDDR-05b unusual_devs entry · 094ec604
      Daniel Drake authored
      Just noticed that the SDDR-05b entry is missing for the shuttle_usbat driver.
      Looking through BK history it was removed in this patch:
      
      http://linux.bkbits.net:8080/linux-2.6/gnupatch@42435730FZQ2XCA6Qv5GPGD4pC4laQ
      
      However, at merge time, it looks like the duplicate was already removed,
      compare these two revisions:
      
      http://linux.bkbits.net:8080/linux-2.6/anno/drivers/usb/storage/unusual_devs.h@1.152
      http://linux.bkbits.net:8080/linux-2.6/anno/drivers/usb/storage/unusual_devs.h@1.153Signed-off-by: default avatarDaniel Drake <dsd@gentoo.org>
      Signed-off-by: default avatarPhil Dibowitz <phil@ipom.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/storage/unusual_devs.h |    8 ++++++++
       1 file changed, 8 insertions(+)
      094ec604
    • Daniel Drake's avatar
      [PATCH] usb-storage: Some minor shuttle_usbat cleanups · b7b1e655
      Daniel Drake authored
      A while ago, Matthew Dharm wrote:
      > Looks good.  Tho, I would like to see a future patch to do two things:
      > 	1) Change comments from C++ style to C-style
      > 	2) Make sure we're naming consistently everywhere SCM, USBAT,
      > 	USBAT-02 (most noticably needing fixing is the string used at
      > 	transport-selection time, but a sweep of all uses to be consistent
      > 	would be in order).
      
      Sorry for the long delay, here is a patch to address this. I also clarified
      some ATA/ATAPI wording + function names.
      Signed-off-by: default avatarDaniel Drake <dsd@gentoo.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/storage/shuttle_usbat.c |  306 ++++++++++++++++++++----------------
       drivers/usb/storage/shuttle_usbat.h |   66 +++----
       drivers/usb/storage/transport.h     |    2
       drivers/usb/storage/unusual_devs.h  |   10 -
       drivers/usb/storage/usb.c           |    4
       5 files changed, 213 insertions(+), 175 deletions(-)
      b7b1e655
    • Daniel Drake's avatar
      [PATCH] USB Storage: HP8200: Another device type detection fix · a8798533
      Daniel Drake authored
      There appears to be one more case where the HP8200 CD writer devices are
      detected as flash readers - when the USB cable is replugged after use, with
      the power cable still connected.
      
      Oddly enough, the identify device command appears to 'fall through' when the
      devices are in this state, the status register reading exactly the same opcode
      as the command (0xA1) that was just executed.
      
      I think it's safe to label this behaviour as specific to HP8200 devices, I
      can't get the flash devices to respond like this.
      
      This patch should solve the last of the HP8200 issues which have cropped up
      recently.
      Signed-off-by: default avatarDaniel Drake <dsd@gentoo.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/storage/shuttle_usbat.c |   12 ++++++------
       1 file changed, 6 insertions(+), 6 deletions(-)
      a8798533
    • Borislav Petkov's avatar
      [PATCH] USB: make usb storage note visible in Kconfig · d40ece1d
      Borislav Petkov authored
      the following patch splits the NOTE: in the Device Drivers->USB submenu of
      Kconfig thus making the whole of it readable on 600x800 terminals.
      (Otherwise, the line was too big and disappeared into nowhere.)
      Signed-off-by: default avatarBorislav Petkov <petkov@uni-muenster.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/storage/Kconfig |    3 ++-
       1 file changed, 2 insertions(+), 1 deletion(-)
      d40ece1d
    • Randy Dunlap's avatar
      [PATCH] safe_serial: use preprocessor directive for error · 521daed8
      Randy Dunlap authored
      Use valid #preprocessor instruction to generate an error.
      Signed-off-by: default avatarRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
       drivers/usb/serial/safe_serial.c |    2 +-
       1 file changed, 1 insertion(+), 1 deletion(-)
      521daed8
    • Petko Manolov's avatar
      [PATCH] pegasus.h · ddcad752
      Petko Manolov authored
      This one is a tiny patch adding one more device to the list.  Please
      apply. :)
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/net/pegasus.h |    2 ++
       1 file changed, 2 insertions(+)
      ddcad752
    • Thomas Riewe's avatar
      [PATCH] drivers/usb/serial/ftdi_sio: add PID/VID · 207c47e1
      Thomas Riewe authored
      We would like to add a PID for the Pyramid Appliance Display, which works
      on USB via FTDI_SIO.
      Signed-off-by: default avatarThomas Riewe <thomasr@pyramid.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/serial/ftdi_sio.c |    1 +
       drivers/usb/serial/ftdi_sio.h |    3 +++
       2 files changed, 4 insertions(+)
      207c47e1
    • Greg Kroah-Hartman's avatar
      [PATCH] USB: make wHubCharacteristics __le16 to match other usb descriptor fields · 74ad9bd2
      Greg Kroah-Hartman authored
      Also has the nice benefit of making sparc alignment issues go away.
      
      Thanks to David Miller for pointing out the problems here.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hub.c |   22 ++++++++++++----------
       drivers/usb/core/hub.h |    2 +-
       2 files changed, 13 insertions(+), 11 deletions(-)
      74ad9bd2
    • Alan Stern's avatar
      [PATCH] USB: File-Storage gadget: use the kthread API · 22efcf4a
      Alan Stern authored
      This patch (as566) converts the File-Storage gadget over to the kthread
      API.  The new code doesn't use kthread_stop because the control thread
      needs to terminate asynchronously when it receives a signal.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/gadget/file_storage.c |   32 +++++++++++++-------------------
       1 file changed, 13 insertions(+), 19 deletions(-)
      22efcf4a
    • Andrew Morton's avatar
      [PATCH] USB: sisusb warning fix · dabb5928
      Andrew Morton authored
      drivers/usb/misc/sisusbvga/sisusb.c: In function `sisusb_reset_text_mode':
      drivers/usb/misc/sisusbvga/sisusb.c:2461: warning: assignment discards qualifiers from pointer target type
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/misc/sisusbvga/sisusb.c |    2 +-
       1 file changed, 1 insertion(+), 1 deletion(-)
      dabb5928
    • Alan Stern's avatar
      [PATCH] USB: UHCI: Spruce up some comments · 8b262bd2
      Alan Stern authored
      This patch (as570) changes some comments in the uhci-hcd header file and
      removes an unused declaration (something I forgot to erase in an earlier
      patch).
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/host/uhci-hcd.h |   91 +++++++++++++++++++++++---------------------
       1 file changed, 49 insertions(+), 42 deletions(-)
      8b262bd2
    • Alan Stern's avatar
      [PATCH] USB: usb_bulk_message() handles interrupts endpoints · d09d36a9
      Alan Stern authored
      Because there is no bulk_interrupt_message() routine and no
      USBDEVFS_INTERRUPT ioctl, people have been forced to abuse the
      usb_bulk_message() routine and USBDEVFS_BULK by using them for interrupt
      transfers as well as bulk transfers.
      
      This patch (as567) formalizes this practice and adds code to
      usb_bulk_message() for detecting when the target is really an interrupt
      endpoint.  If it is, the routine submits an interrupt URB (using the
      default interval) instead of a bulk URB.  In theory this should help HCDs
      that don't like it when people try to mix transfer types, queuing both
      periodic and non-periodic types for the same endpoint.
      
      Not fully tested -- I don't have any programs that use USBDEVFS_BULK for
      interrupt transfers -- but it compiles okay and normal bulk messages work
      as well as before.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/message.c |   24 ++++++++++++++++++++----
       1 file changed, 20 insertions(+), 4 deletions(-)
      d09d36a9
    • David Brownell's avatar
      [PATCH] updates for "controller suspended" handling · b13296c6
      David Brownell authored
      Reject URBs to _all_ devices when their host controllers are suspended;
      even root hub registers will be unavailable.  Also, don't reject urbs
      to root hubs in other cases; the only upstream link is through that
      controller (on PCI or whatever SOC bus is in use).
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hcd.c |   28 ++++++++++++----------------
       drivers/usb/core/urb.c |    3 ++-
       2 files changed, 14 insertions(+), 17 deletions(-)
      b13296c6
    • David Brownell's avatar
      [PATCH] stop exporting two functions · 5edbfb7c
      David Brownell authored
      The way we're looking at USB suspend lately doesn't expect drivers to
      call usb_suspend_device() or usb_resume_device() directly; that'll
      be implicit when no interfaces are in use.
      
      This patch removes those APIs from visibility outside usbcore.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      
       drivers/usb/core/hub.c |   12 ++++--------
       drivers/usb/core/usb.h |    4 ++++
       include/linux/usb.h    |    5 -----
       3 files changed, 8 insertions(+), 13 deletions(-)
      5edbfb7c
    • David Brownell's avatar
      [PATCH] ISP116x PM updates · ccdcf77a
      David Brownell authored
      This makes the isp116x driver stop using usb_suspend_device() and
      usb_resume_device() ... usbcore now calls to the root hub methods,
      removing the need for this.  It also switches from keventd to khubd
      for remote wakeup.  (Compile tested.)
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/host/isp116x-hcd.c |   29 ++++-------------------------
       drivers/usb/host/isp116x.h     |    1 -
       2 files changed, 4 insertions(+), 26 deletions(-)
      ccdcf77a
    • David Brownell's avatar
      [PATCH] UHCI PM updates · a7f72abe
      David Brownell authored
      This removes suspend and resume path recursion in UHCI.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/host/uhci-hcd.c |    9 ---------
       1 file changed, 9 deletions(-)
      a7f72abe
    • David Brownell's avatar
      [PATCH] update PCI early-handoff handling for OHCI · f2cb36c1
      David Brownell authored
      The PCI "early usb handoff" quirk logic didn't work like "ohci-hcd" ...
      This patch makes it do so by:
      
        - Resetting the controller after kicking BIOS off, matching the
          normal "chip in hardware reset" startup mode;
      
        - Reporting any BIOS that borks this simple handoff; it's likely
          got a few other surprises for us too.
      
        - Ignoring that handoff on HPPA;
      
      The diagnostic string is mostly shared with EHCI, saving a few bytes.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/host/pci-quirks.c |   22 ++++++++++++++++++----
       1 file changed, 18 insertions(+), 4 deletions(-)
      f2cb36c1
    • David Brownell's avatar
      [PATCH] OHCI PM updates · f197b2c5
      David Brownell authored
      This simplifies the OHCI root hub suspend logic:
      
       - Uses new usbcore root hub calls to make autosuspend work again:
      	* Uses a newish usbcore root hub wakeup mechanism,
      	  making requests to khubd not keventd.
      	* Uses an even newer sibling suspend hook.
      
       - Expect someone always made usbcore call ohci_hub_suspend() before bus
         glue fires; and that ohci_hub_resume() is only called after that bus
         glue ran.  Previously, only CONFIG_USB_SUSPEND promised those things.
         (Includes updates to PCI and OMAP bus glue.)
      
       - Handle a not-noticed-before special case during resume from one of
         the swsusp snapshots when using "usb-handoff":  the controller isn't
         left in RESET state.  (A bug to fix in the usb-handoff code...)
      
      Also cleans up a minor debug printk glitch, and switches an mdelay over
      to an msleep (how did that stick around for so long?).
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/host/ohci-dbg.c  |    4 ----
       drivers/usb/host/ohci-hcd.c  |    2 +-
       drivers/usb/host/ohci-hub.c  |   42 ++++++++++++------------------------------
       drivers/usb/host/ohci-mem.c  |    1 -
       drivers/usb/host/ohci-omap.c |   36 ++++++++++++------------------------
       drivers/usb/host/ohci-pci.c  |   40 ++++++++--------------------------------
       drivers/usb/host/ohci.h      |    1 -
       7 files changed, 33 insertions(+), 93 deletions(-)
      f197b2c5
    • David Brownell's avatar
      [PATCH] usbcore PCI glue updates for PM · 5f827ea3
      David Brownell authored
      This updates the PCI glue to address the new and simplified usbcore suspend
      semantics, where CONFIG_USB_SUSPEND becomes irrelevant to HCDs because
      hcd->hub_suspend() will always be called.
      
        - Removes now-unneeded recursion support
      
        - Go back to ignoring faults reported by the wakeup calls; we expect them
          to fail sometimes, and that's just fine.
      
      The PCI HCDs will need simple changes to catch up to this, like being able
      to ignore the setting of CONFIG_USB_SUSPEND.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hcd-pci.c |  106 +++++++++++++++++++++------------------------
       drivers/usb/core/hcd.h     |    6 +-
       2 files changed, 53 insertions(+), 59 deletions(-)
      5f827ea3
    • David Brownell's avatar
      [PATCH] root hub updates (greater half) · f3f3253d
      David Brownell authored
      This patch associates hub suspend and resume logic (including for root hubs)
      with CONFIG_PM -- instead of CONFIG_USB_SUSPEND as before -- thereby unifying
      two troublesome versions of suspend logic into just one.  It'll be easier to
      keep things right from now on.
      
        - Now usbcore _always_ calls hcd->hub_suspend as needed, instead of
          only when USB_SUSPEND is enabled:
           * Those root hub methods are now called from hub suspend/resume;
             no more skipping between layers during device suspend/resume;
           * It now handles cases allowed by sysfs or autosuspended root hubs,
             by forcing the hub interface to resume too.
      
        - All devices, including virtual root hubs, now get the same treatment
          on their resume paths ... including re-activating all their interfaces.
      
      Plus it gets rid of those stub copies of usb_{suspend,resume}_device(), and
      updates the Kconfig to match the new definition of USB_SUSPEND:  it provides
      (a) selective suspend, downstream from hubs; and (b) remote wakeup, upstream
      from any device configuration which supports it.
      
      This calls for minor followup patches for most HCDs (and their PCI glue).
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/Kconfig |   11 ++-
       drivers/usb/core/hub.c   |  163 +++++++++++++++++++++++++----------------------
       2 files changed, 97 insertions(+), 77 deletions(-)
      f3f3253d
    • David Brownell's avatar
      [PATCH] root hub changes (lesser half) · 979d5199
      David Brownell authored
      This patch collects various small updates related to root hubs, to shrink
      later patches which build on them.
      
        - For root hub suspend/resume support:
           * Make the existing usb_hcd_resume_root_hub() routine respect pmcore
             locking, exporting and using the dpm_runtime_resume() method.
           * Add a new usb_hcd_suspend_root_hub() to pair with that routine.
             (Essential to make OHCI autosuspend behave again...)
           * HC_SUSPENDED by itself only refers to the root hub's downstream ports.
             So let HCDs see root hub URBs unless the parent device is suspended.
      
        - Remove an assertion we no longer need (and now, also don't want).
      
        - Generic suspend/resume updates to work better with swsusp.
           * Ignore the FREEZE vs SUSPEND distinction for hardware; trying to
             use it breaks the swsusp snapshots it's supposed to help (sigh).
           * On resume, mark devices as resumed right away, but then
             do nothing else if the device is marked NOTATTACHED.
      
      These changes shouldn't be very noticable by themselves.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/base/power/runtime.c |    1
       drivers/usb/core/hcd.c       |   64 ++++++++++++++++++++++++++++++++++++++-----
       drivers/usb/core/hcd.h       |    1
       drivers/usb/core/hub.c       |   45 ++++++++++++++++++++++++------
       drivers/usb/core/usb.c       |   20 +++++++++----
       drivers/usb/core/usb.h       |    1
       6 files changed, 111 insertions(+), 21 deletions(-)
      979d5199
    • David Brownell's avatar
      [PATCH] all HCDs provide root hub suspend/resume methods · 9293677a
      David Brownell authored
      This cleans up a small recent FIXME, ensuring that all the HCDs provide
      root hub suspend/resume methods.  It also wraps the calls to those root
      suspend routines just like on the PCI "USB_SUSPEND not defined" cases,
      so non-PCI bus glue won't be as tempted to behave very differently.
      
      Several of the SOC based OHCI drivers forgot to list those methods;
      the patch also adds those missing declarations.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hcd.c          |   42 +++++++++++++++++++++++++---------------
       drivers/usb/host/ohci-au1xxx.c  |    5 ++++
       drivers/usb/host/ohci-lh7a404.c |    5 ++++
       drivers/usb/host/ohci-pxa27x.c  |    1
       drivers/usb/host/ohci-s3c2410.c |    1
       drivers/usb/host/ohci-sa1111.c  |    1
       6 files changed, 40 insertions(+), 15 deletions(-)
      9293677a
    • Matt Porter's avatar
      [PATCH] EHCI, split out PCI glue · 7ff71d6a
      Matt Porter authored
      This splits BIOS and PCI specific support out of ehci-hcd.c into
      ehci-pci.c.  It follows the model already used in the OHCI driver
      so support for non-PCI EHCI controllers can be more easily added.
      Signed-off-by: default avatarMatt Porter <mporter@kernel.crashing.org>
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/host/ehci-hcd.c |  543 ++++++--------------------------------------
       drivers/usb/host/ehci-pci.c |  414 +++++++++++++++++++++++++++++++++
       drivers/usb/host/ehci.h     |    1
       3 files changed, 492 insertions(+), 466 deletions(-)
      7ff71d6a
    • David Brownell's avatar
      [PATCH] one less word in struct device · e9b7bd4e
      David Brownell authored
      This saves a word from "struct device" ... there's a refcounting mechanism
      stub that's rather ineffective (the values are never even tested!), which
      can safely be deleted.  With this patch it uses normal device refcounting,
      so any potential users of the pm_parent mechanism will be more correct.
      (That mechanism is actually unusable for now though; it does nothing.)
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/base/power/main.c |   26 +++-----------------------
       include/linux/pm.h        |    1 -
       2 files changed, 3 insertions(+), 24 deletions(-)
      e9b7bd4e
    • Alan Stern's avatar
      [PATCH] USB: UHCI: Split apart the physical and logical framelist arrays · a1d59ce8
      Alan Stern authored
      This patch (as563) splits the physical and logical framelist arrays in
      uhci-hcd into two separate pieces.  This will allow slightly better memory
      utilization, since each piece is no larger than a single page whereas
      before the whole thing was a little bigger than two pages.  It also allows
      the logical array to be allocated in non-DMA-coherent memory.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a1d59ce8
    • Alan Stern's avatar
      [PATCH] USB: UHCI: Remove unused fields and unneeded tests for NULL · 8b4cd421
      Alan Stern authored
      This patch (as562) removes from the uhci-hcd driver a few unused fields
      and some unnecessary tests against NULL and assignments to NULL.  In fact
      it wasn't until fairly recently that the tests became unnecessary.
      Before last winter it was possible that the driver's stop() routine would
      get called even if the start() routine returned an error, but now that
      can't happen.  Hence there's no longer any need to check for partial
      initialization.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      8b4cd421
    • Matt Porter's avatar
      [PATCH] USB: Fix usb hub build · e08fb39b
      Matt Porter authored
      Signed-off-by: default avatarMatt Porter <mporter@kernel.crashing.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hub.c |    2 +-
       1 file changed, 1 insertion(+), 1 deletion(-)
      e08fb39b
    • David Brownell's avatar
      [PATCH] remove some USB_SUSPEND dependencies · 8ad7fe16
      David Brownell authored
      This simplifies some of the PM-related #ifdeffing by recognizing
      that USB_SUSPEND depends on PM.  Also, OHCI drivers were often
      testing for USB_SUSPEND when they should have tested just PM.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hcd.c          |    2 ++
       drivers/usb/host/ohci-hcd.c     |    2 +-
       drivers/usb/host/ohci-hub.c     |    4 ++--
       drivers/usb/host/ohci-omap.c    |    2 +-
       drivers/usb/host/ohci-pci.c     |    2 +-
       drivers/usb/host/ohci-ppc-soc.c |    4 ++--
       drivers/usb/host/ohci-pxa27x.c  |    2 +-
       drivers/usb/host/ohci-s3c2410.c |    3 +--
       drivers/usb/host/ohci-sa1111.c  |    2 +-
       9 files changed, 12 insertions(+), 11 deletions(-)
      8ad7fe16
    • David Brownell's avatar
      [PATCH] remove duplicated resume path code · dbc3887e
      David Brownell authored
      This gets rid of some inconsistently duplicated logic to resume interfaces.
      Similar code was in both finish_port_resume() and in usb_generic_resume().
      Now there is just one copy of that code, accessed regardless of whether
      CONFIG_USB_SUSPEND is enabled.  Fault handling is also more consistent.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      dbc3887e
    • David Brownell's avatar
      [PATCH] remove usb_suspend_device() parameter · 390a8c34
      David Brownell authored
      This patch removes the extra usb_suspend_device() parameter.  The original
      reason to pass that parameter was so that this routine could suspend any
      active children.  A previous patch removed that functionality ... leaving
      no reason to pass the parameter.  A close analogy is pci_set_power_state,
      which doesn't need a pm_message_t either.
      
      On the internal code path that comes through the driver model, the parameter
      is now used to distinguish cases where USB devices need to "freeze" but not
      suspend.   It also checks for an error case that's accessible through sysfs:
      attempting to suspend a device before its interfaces (or for hubs, ports).
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hub.c         |   34 +++++++++++++++++++++-------------
       drivers/usb/core/usb.c         |   23 +++++++++++++++++++++--
       drivers/usb/host/ehci-hcd.c    |    2 +-
       drivers/usb/host/isp116x-hcd.c |    2 +-
       drivers/usb/host/ohci-pci.c    |    2 +-
       include/linux/usb.h            |    2 +-
       6 files changed, 46 insertions(+), 19 deletions(-)
      390a8c34
    • David Brownell's avatar
      [PATCH] remove suspend-path recursion · c9f89fa4
      David Brownell authored
      This patch removes some recursion in the CONFIG_USB_SUSPEND logic, which
      suspended children (of devices or hubs) that weren't already suspended.
      When it sees such cases, suspend now just fails cleanly.
      
      That logic was not needed during system-wide sleep state transitions; and
      given the current notions of how to manage selective suspend transitions,
      we don't want it there either.  Where it was particularly handy was coping
      with various limitations of the sysfs "echo -n N > power/state" support.
      (These include assuming that "N" is always meaningful to the driver; and
      that drivers can only transition to state N from state zero.)
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c9f89fa4
    • David Brownell's avatar
      [PATCH] usb_interface power state · db690874
      David Brownell authored
      This updates the handling of power state for USB interfaces.
      
        - Formalizes an existing invariant:  interface "power state" is a boolean:
          ON when I/O is allowed, and FREEZE otherwise.  It does so by defining
          some inlined helpers, then using them.
      
        - Adds a useful invariant:  the only interfaces marked active are those
          bound to non-suspended drivers.  Later patches build on this invariant.
      
        - Simplifies the interface driver API (and removes some error paths) by
          removing the requirement that they record power state changes during
          suspend and resume callbacks.  Now usbcore does that.
      
      A few drivers were simplified to address that last change.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hub.c       |   33 +++++++++------------
       drivers/usb/core/message.c   |    1
       drivers/usb/core/usb.c       |   65 +++++++++++++++++++++++++++++++++----------
       drivers/usb/core/usb.h       |   18 +++++++++++
       drivers/usb/input/hid-core.c |    2 -
       drivers/usb/misc/usbtest.c   |   10 ------
       drivers/usb/net/pegasus.c    |    2 -
       drivers/usb/net/usbnet.c     |    2 -
       8 files changed, 85 insertions(+), 48 deletions(-)
      db690874