Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935062AbcCPNGk (ORCPT ); Wed, 16 Mar 2016 09:06:40 -0400 Received: from bear.ext.ti.com ([192.94.94.41]:51474 "EHLO bear.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934498AbcCPNGH (ORCPT ); Wed, 16 Mar 2016 09:06:07 -0400 From: Roger Quadros To: CC: , , , Roger Quadros Subject: [PATCH 0/2] usb: dwc3: gadget: Fix erratic interrupts and delayed enumeration Date: Wed, 16 Mar 2016 15:05:49 +0200 Message-ID: <1458133551-3071-1-git-send-email-rogerq@ti.com> X-Mailer: git-send-email 2.5.0 MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 953 Lines: 31 Hi, The existing workaround (for STAR#9000525659) of forcing DEVSPD to SUPER_SPEED for HIGH_SPEED ports is causing another side effect which causes erratic interrupts and delayed gadget enumeration of upto 2 seconds. Work around the run/stop issue by detecting if it happened using debug LTSSM state and issuing soft reset to the device controller when changing RUN_STOP from 0 to 1. We apply the workaround only if PRTCAP is DEVICE mode as we don't yet support this workaround in OTG mode. Use USB RESET event as exit condition for workaround. cheers, -roger Roger Quadros (2): usb: dwc3: core: Introduce dwc3_device_reinit() usb: dwc3: gadget: usb: dwc3: run/stop metastability workaround drivers/usb/dwc3/core.c | 142 +++++++++++++++++++++++++------------ drivers/usb/dwc3/core.h | 4 ++ drivers/usb/dwc3/gadget.c | 175 +++++++++++++++++++++++++++++++++++++--------- 3 files changed, 246 insertions(+), 75 deletions(-) -- 2.5.0