13 Jul, 2009

1 commit

  • This patch (as1256) changes ehci-hcd and all the other drivers in the
    EHCI family to make use of the new clear_tt_buffer callbacks. When a
    Clear-TT-Buffer request is in progress for a QH, the QH is not allowed
    to be linked into the async schedule until the request is finished.
    At that time, if there are any URBs queued for the QH, it is linked
    into the async schedule.

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

    Alan Stern
     

16 Jun, 2009

1 commit

  • This patch (as1245) fixes a bug in ehci-hcd. When an URB is queued
    for an endpoint whose QH is already in the LINKED state, the QH
    doesn't get refreshed. As a result, if usb_clear_halt() was called
    during the time that the QH was linked but idle, the data toggle value
    in the QH doesn't get reset.

    The symptom is that after a clear_halt, data gets lost and transfers
    time out. This problem is starting to show up now because the
    "ehci-hcd unlink speedups" patch causes QHs with no queued URBs to
    remain linked for a suitable time.

    The patch utilizes the new endpoint_reset mechanism to fix the
    problem. When an endpoint is reset, the new method forcibly unlinks
    the QH (if necessary) and safely updates the toggle value. This
    allows qh_update() to be simplified and avoids using usb_device's
    toggle bits in a rather unintuitive way.

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

    Alan Stern
     

10 Oct, 2008

1 commit


22 Jul, 2008

1 commit


30 May, 2008

2 commits

  • 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: Alan Stern
    CC: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This patch (as1095) cleans up the HCD glue and several of the EHCI
    bus-glue files. The ehci->is_tdi_rh_tt flag is redundant, since it
    means the same thing as the hcd->has_tt flag, so it is removed and the
    other flag used in its place.

    Some of the bus-glue files didn't get the relinquish_port method added
    to their hc_driver structures. Although that routine currently
    doesn't do anything for controllers with an integrated TT, in the
    future it might. So the patch adds it where it is missing.

    Lastly, some of the bus-glue files have erroneous entries for their
    hc_driver's suspend and resume methods. These method pointers are
    specific to PCI and shouldn't be used otherwise.

    (The patch also includes an invisible whitespace fix.)

    Signed-off-by: Alan Stern
    Acked-by: David Brownell

    Alan Stern
     

25 Apr, 2008

1 commit

  • Various minor fixes to some SOC bus glue for EHCI:

    - Remove a bogus copyright (by "me"!) which someone added to the FSL
    driver, and an irrelevant comment.

    - Un-break MODULE_ALIAS() directives after platform_bus hotplugging
    acquired a backwards-incompatible change. (Which didn't fix ANY
    of the in-tree drivers it prevented from hotplugging -- sigh.)

    - Remove some bogus assignments of platform_bus_type; that's done by
    the platform_bus code.

    - Add some FIXMEs for drivers with that pointless two-level idiom for
    probe() and remove() routines. ("Obfuscation" is a non-goal.)
    That should help avoid future bus glue which copies that idiom.

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

    David Brownell
     

02 Feb, 2008

1 commit