[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120801232358.30215.qmail@stuge.se>
Date: Thu, 2 Aug 2012 01:23:58 +0200
From: Peter Stuge <peter@...ge.se>
To: "Alexis R. Cortes" <alexis.cortes@...com>
Cc: sarah.a.sharp@...ux.intel.com, gregkh@...uxfoundation.org,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
brian.quach@...com, jorge.llamas@...com
Subject: Re: [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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists