lkml.org 
[lkml]   [2012]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] usb: host: xhci: Fix Compliance Mode on SN65LVPE502CP Hardware
    Alexis R. Cortes wrote:
    > This patch is intended to work around a known issue on the
    > SN65LVPE502CP USB3.0 re-driver that can delay the negotiation
    > between a device and the host past the usual handshake timeout,
    > and if that happens on the first insertion, the host controller
    > port will enter in Compliance Mode as per xHCI Spec, thus causing
    > the port to become Unusable. This patch creates a timer which polls
    > every 2 seconds the link state of each host controller's port (this
    > by reading the PORTSC register) and recovers the port by issuing a
    > Warm reset every time Compliance mode is detected. Since the issue
    > is being caused by a pice of hardware, the timer will be enabled

    Typo, insert an 'e' here ^


    > +++ b/drivers/usb/host/xhci.c
    ..
    > @@ -420,6 +477,12 @@ int xhci_init(struct usb_hcd *hcd)
    > retval = xhci_mem_init(xhci, GFP_KERNEL);
    > xhci_dbg(xhci, "Finished xhci_init\n");
    >
    > + /* Initializing Compliance Mode Recovery Data If Needed */
    > + if (compliance_mode_recovery_timer_quirk_check()) {
    > + xhci->quirks |= XHCI_COMP_MODE_QUIRK;
    > + compliance_mode_recovery_timer_init(xhci);
    > + }
    > +
    > return retval;
    > }

    Maybe add the code just *before* the "Finished" debug message rather
    than after.


    //Peter


    \
     
     \ /
      Last update: 2012-08-02 02:01    [W:0.023 / U:32.492 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site