18 Nov, 2009

1 commit

  • The following patch in the driver is required to avoid USB 1.1 device
    failures that may occur due to requests from USB OHCI controllers may
    be overwritten if the latency for any pending request by the USB
    controller is very long (in the range of milliseconds).

    Signed-off-by: Libin Yang
    Cc: David Brownell
    Cc: Alan Stern
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Libin Yang
     

23 Sep, 2009

1 commit


16 Jun, 2009

2 commits


27 Mar, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (97 commits)
    USB: qcserial: add device id for HP devices
    USB: isp1760: Add a delay before reading the SKIPMAP registers in isp1760-hcd.c
    USB: allow malformed LANGID descriptors
    USB: pxa27x_udc: typo fixes and code cleanups
    USB: gadget: gadget zero uses new suspend/resume hooks
    USB: gadget: composite device-level suspend/resume hooks
    USB: r8a66597-hcd: suspend/resume support
    USB: more u32 conversion after transfer_buffer_length and actual_length
    USB: Fix cp2101 USB serial device driver termios functions for console use
    USB: CP2101 New Device ID
    USB: ipaq: handle 4 endpoint devices
    USB: S3C: Move usb-control.h to platform include
    USB: ohci-hcd: Add ARCH_S3C24XX to the ohci-s3c2410.c glue
    USB: pedantic: spelling correction in comment for ch9.h
    USB: host: fix sparse warning: Using plain integer as NULL pointer
    USB: ohci-s3c2410: fix name of bus clock
    USB: ohci-s3c2410: remove include
    USB: serial: rename cp2101 driver to cp210x
    USB: CP2101 Reduce Error Logging
    USB: CP2101 Support AN205 baud rates
    ...

    Linus Torvalds
     

25 Mar, 2009

1 commit


16 Mar, 2009

1 commit


28 Jan, 2009

1 commit

  • This patch (as1199) changes the initial wakeup settings for PCI USB
    host controllers. The controllers are marked as capable of waking the
    system, but wakeup is not enabled by default.

    It turns out that enabling wakeup for USB host controllers has a lot
    of bad consequences. As the simplest example, if a USB mouse or
    keyboard is unplugged immediately after the computer is put to sleep,
    the unplug will cause the system to wake back up again! We are better
    off marking them as wakeup-capable and leaving wakeup disabled.

    Signed-off-by: Alan Stern
    Reported-by: Rafael J. Wysocki
    CC: David Brownell
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

08 Jan, 2009

1 commit

  • This patch (as1193b) enables wakeup during initialization for all PCI
    host controllers, and it removes some code (and comments!) that are no
    longer needed now that the PCI core automatically initializes wakeup
    settings for all new devices.

    The idea is that the bus should initialize wakeup, and the bus glue
    or controller driver should enable it.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

23 Oct, 2008

1 commit

  • Some Toshiba Mobile I/O chips have OHCI controller built in.
    E.g. the tc6393xb chip found in several Toshiba e-Series PDAs
    and in Sharp Zaurus SL-6000 PDA. This adds platform glue
    to support OHCI function of the chip.

    Signed-off-by: Dmitry Baryshkov
    Acked-by: Ian Molton
    Cc: Ian Molton
    Signed-off-by: Greg Kroah-Hartman

    Dmitry Baryshkov
     

18 Oct, 2008

2 commits

  • This patch (as1139) adds a warning to the system log whenever ehci-hcd
    is loaded after ohci-hcd or uhci-hcd. Nowadays most distributions are
    pretty good about not doing this; maybe the warning will help convince
    anyone still doing it wrong.

    Signed-off-by: Alan Stern
    Cc: stable [2.6.27]
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This patch (as1145) removes the essentially useless driver-version
    strings from ehci-hcd, ohci-hcd, and uhci-hcd. It also unifies the
    form of the banner lines they display upon loading and adds a missing
    test for usb_disabled() to ehci-hcd.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

14 Aug, 2008

2 commits

  • On some AMD 700 series southbridges, ISO OUT transfers (such as audio
    playback through speakers) on the USB OHCI controller may be corrupted
    when an A-Link express power saving feature is active.

    PLL power down mode in conjunction with link power management feature
    L1 being enabled is the bad combination ... this patch prevents them
    from being enabled when ISO transfers are pending.

    Signed-off-by: Crane Cai
    Signed-off-by: Libin Yang
    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Libin Yang
     
  • Signed-off-by: Dmitry Baryshkov
    Acked-by: David Brownell
    Cc: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Dmitry Baryshkov
     

22 Jul, 2008

1 commit

  • As RMK pointed out, considering the fact that the _only_ platform with
    a PXA and SA1111 is the Lubbock, and that SA1111 DMA doesn't work there,
    (i.e. the SA1111 OHCI doesn't work there) the SA1111 OHCI driver should
    really be made SA11x0 specific.

    Signed-off-by: Eric Miao
    Acked-by: Russell King
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Eric Miao
     

04 Jul, 2008

1 commit

  • If the SM501 and another platform driver, such as the SM501
    then we end up defining PLATFORM_DRIVER twice. This patch
    seperated the SM501 onto a seperate define of SM501_OHCI_DRIVER
    so that it can be selected without overwriting the original
    definition.

    Signed-off-by: Ben Dooks
    Acked-by: David Brownell
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Ben Dooks
     

03 Apr, 2008

1 commit

  • Code inspection discovered in 2 places timers were being incorrectly setup
    using round_jiffies_relative(HZ). The timer would then fire at time (0 <
    HZ).

    Fix them to use round_jiffies(jiffies + HZ);

    Signed-off-by: Richard Kennedy
    Cc: Alan Stern
    Cc: David Brownell
    Cc: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Richard Kennedy
     

02 Feb, 2008

4 commits

  • usb: ohci-sm501 driver V2

    This patch adds sm501 ohci support. It's all very straightforward with the
    exception of dma_declare_coherent_memory() and HCD_LOCAL_MEM. Together they
    are used to ensure that usb data is allocated using dma_alloc_coherent(),
    and that only valid dma memory is used to allocate from. This driver is
    a platform device, and the mfd driver sm501.c is already creating one
    usb host controller instance per sm501.

    Signed-off-by: Magnus Damm
    Cc: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Magnus Damm
     
  • add support for SuperH OHCI.

    supported CPU are:
    - SH7720
    - SH7721
    - SH7763

    Signed-off-by: Yoshihiro Shimoda
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Yoshihiro Shimoda
     
  • The OHCI driver's IRQ handler, while processing a WDH interrupt, masks
    and unmasks it. I believe this is both broken (the write may still be
    posted during the donelist processing it's trying to safeguard) and
    useless as this IRQ may not be reissued until it's acked (unless this
    legacy code is an uncommented workaround for some chip erratum).

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Benjamin Herrenschmidt
     
  • We should not have multiple line files in sysfs, this moves the data to
    debugfs instead, like the UHCI driver.

    Signed-off-by: Tony Jones
    Cc: Kay Sievers
    Cc: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Tony Jones
     

26 Jan, 2008

1 commit


18 Dec, 2007

1 commit

  • The OHCI IRQ handler has an optimisation that avoids reading some
    chip registers when the controller reports that the interrupt was
    triggered *only* because completed requests were written into the
    controller's "done list" and handed to the host.

    This mechanism can't be used on some controllers. Among others, it
    fails for the SA1111 and the AMCC 440EP PowerPC processor.

    This patch removes the optimisation and makes the code clearer.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Benjamin Herrenschmidt
     

26 Oct, 2007

1 commit


13 Oct, 2007

4 commits

  • This adds SSB bus glue for the USB OHCI HCD.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville
    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Michael Buesch
     
  • This patch (as975) reorganizes the way ohci-hcd sets urb->status. It
    now keeps the information in a local variable until the last moment.

    Signed-off-by: Alan Stern
    CC: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This patch (as954) implements a suggestion of David Brownell's. Now
    the host controller drivers are responsible for linking and unlinking
    URBs to/from their endpoint queues. This eliminates the possiblity of
    strange situations where usbcore thinks an URB is linked but the HCD
    thinks it isn't. It also means HCDs no longer have to check for URBs
    being dequeued before they were fully enqueued.

    In addition to the core changes, this requires changing every host
    controller driver and the root-hub URB handler. For the most part the
    required changes are fairly small; drivers have to call
    usb_hcd_link_urb_to_ep() in their urb_enqueue method,
    usb_hcd_check_unlink_urb() in their urb_dequeue method, and
    usb_hcd_unlink_urb_from_ep() before giving URBs back. A few HCDs make
    matters more complicated by the way they split up the flow of control.

    In addition some method interfaces get changed. The endpoint argument
    for urb_enqueue is now redundant so it is removed. The unlink status
    is required by usb_hcd_check_unlink_urb(), so it has been added to
    urb_dequeue.

    Signed-off-by: Alan Stern
    CC: David Brownell
    CC: Olav Kongas
    CC: Tony Olech
    CC: Yoshihiro Shimoda
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • The ZF Micro OHCI controller exhibits unexpected behavior that seems to be
    related to high load. Under certain conditions, the controller will
    complete a TD, remove it from the endpoint's queue, and fail to add it to
    the donelist. This causes the endpoint to appear to stop responding. Worse,
    if the device is removed while in that state, OHCI will hang while waiting
    for the orphaned TD to complete. The situation is not recoverable without
    rebooting.

    This fix enhances the scope of the existing OHCI_QUIRK_ZFMICRO flag:

    1. A watchdog routine periodically scans the OHCI structures to check
    for orphaned TDs. In these cases the TD is taken back from the
    controller and completed normally.

    2. If a device is removed while the endpoint is hung but before the
    watchdog catches the situation, any outstanding TDs are taken back
    from the controller in the 'sanitize' phase.

    The ohci-hcd driver used to print "INTR_SF lossage" in this situation;
    this changes it to the universally accurate "ED unlink timeout". Other
    instances of this message presumably have different root causes.

    Both this Compaq quirk and a NEC quirk are now properly compiled out for
    non-PCI builds of this driver.

    Signed-off-by: Mike Nuss
    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Mike Nuss
     

20 Jul, 2007

1 commit

  • Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc).

    Here is a short excerpt of the semantic patch performing
    this transformation:

    @@
    type T2;
    expression x;
    identifier f,fld;
    expression E;
    expression E1,E2;
    expression e1,e2,e3,y;
    statement S;
    @@

    x =
    - kmalloc
    + kzalloc
    (E1,E2)
    ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\)
    - memset((T2)x,0,E1);

    @@
    expression E1,E2,E3;
    @@

    - kzalloc(E1 * E2,E3)
    + kcalloc(E1,E2,E3)

    [akpm@linux-foundation.org: get kcalloc args the right way around]
    Signed-off-by: Yoann Padioleau
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Acked-by: Russell King
    Cc: Bryan Wu
    Acked-by: Jiri Slaby
    Cc: Dave Airlie
    Acked-by: Roland Dreier
    Cc: Jiri Kosina
    Acked-by: Dmitry Torokhov
    Cc: Benjamin Herrenschmidt
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Pierre Ossman
    Cc: Jeff Garzik
    Cc: "David S. Miller"
    Acked-by: Greg KH
    Cc: James Bottomley
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoann Padioleau
     

13 Jul, 2007

3 commits

  • USB HCD glue updates to reflect the new PS3 unifed device support.
    - Fixed remove() routine.
    - Added shutdown() routine.
    - Added request_mem_region() call.
    - Fixed MODULE_ALIAS().
    - Made a proper fix for the hack done to support muti-platform in commit
    48fda45120a819ca40cadc50144b55bff1c4c78d.

    Signed-off-by: Geoff Levand
    Cc: Paul Mackerras
    Signed-off-by: Greg Kroah-Hartman

    Geoff Levand
     
  • This patch fixes a silicon bug in some NEC OHCI chips. The bug appears
    at random times and is very, very difficult to reproduce. Without the
    following patch, Linux would shut the chip and its associated devices
    down. In Apple PowerBooks this leads to an unusable keyboard and mouse
    (SSH still working). The idea of restarting the chip is taken from
    public Darwin code.

    Signed-off-by: Michael Hanselmann
    Cc: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Michael Hanselmann
     
  • This patch (as887) changes the way ehci-hcd and ohci-hcd handle a loss
    of VBUS power during suspend. In order for the USB-persist facility
    to work correctly, it is necessary for low- and full-speed devices
    attached to a high-speed port to be handed back to the companion
    controller during resume processing.

    This entails three changes: adding code to ehci-hcd to perform the
    handover, removing code from ohci-hcd to turn off ports during
    root-hub reinit, and adding code to ohci-hcd to turn on ports during
    PCI controller resume. (Other bus glue resume methods for platforms
    supporting high-speed controllers would need a similar change, if any
    existed.)

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

09 May, 2007

1 commit


28 Apr, 2007

1 commit

  • Duplicate what Zach Brown did for pr_debug in commit
    8b2a1fd1b394c60eaa2587716102dd5e9b4e5990

    [akpm@linux-foundation.org: fix a couple of things which broke]
    Signed-off-by: Dan Williams
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Dan Williams
     

17 Feb, 2007

1 commit


08 Feb, 2007

4 commits

  • USB OHCI driver bus glue for the PS3 game console.

    Signed-off-by: Geoff Levand
    Cc: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Geoff Levand
     
  • Restructure the ohci_hcd_mod_init error handling code in to better support
    the multiple platform drivers. This does not change the functionality.

    Signed-off-by: Benjamin Herrenschmidt
    Cc: David Brownell
    Signed-off-by: Geoff Levand
    Signed-off-by: Greg Kroah-Hartman

    Benjamin Herrenschmidt
     
  • PPC embedded systems can have a ohci controller builtin. In the
    new model, it will end up as a driver on the of_platform bus,
    this patches takes care of them.

    Signed-off-by: Sylvain Munaut
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Sylvain Munaut
     
  • The previous model had the module_init & module_exit function in the
    bus glue .c files themselves. That's a problem if several glues need
    to be selected at once and the driver is built has module. This case
    is quite common in embedded system where you want to handle both the
    integrated ohci controller and some extra controller on PCI.

    The ohci-hcd.c file now provide the module_init & module_exit and
    appropriate driver registering/unregistering is done conditionally,
    using #ifdefs.

    Signed-off-by: Sylvain Munaut
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Sylvain Munaut
     

21 Dec, 2006

1 commit