On 02/27/2013 07:20 PM, Sarah Sharp wrote:
Basically, I'd like Tony to make his first patch work, rather than
pursuing moving the timer manipulation to xhci_bus_suspend/resume.
Not to add confusion, but here is a less intrusive patch that simply
checks to see if the Compliance Mode Recovery Timer already exists
before attempting to initialize it.
---
drivers/usb/host/xhci.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index f1f01a8..e51db78 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -445,6 +445,11 @@ static void compliance_mode_recovery(unsigned long arg)
*/
static void compliance_mode_recovery_timer_init(struct xhci_hcd *xhci)
{
+ if (timer_pending(&xhci->comp_mode_recovery_timer)) {
+ xhci_dbg(xhci, "Compliance Mode Recovery Timer already active.\n");
+ return;
+ }
+
xhci->port_status_u0 = 0;
init_timer(&xhci->comp_mode_recovery_timer);
--
1.7.1