Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755738AbbLXLHe (ORCPT ); Thu, 24 Dec 2015 06:07:34 -0500 Received: from mail-bn1bon0136.outbound.protection.outlook.com ([157.56.111.136]:61948 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755707AbbLXLH0 (ORCPT ); Thu, 24 Dec 2015 06:07:26 -0500 Authentication-Results: spf=permerror (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none;freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; From: Ramneek Mehresh To: CC: , , , , Ramneek Mehresh Subject: [PATCH 7/7][v4][RESEND]usb:fsl:otg: Add host-gadget drv sync delay Date: Thu, 24 Dec 2015 16:54:16 +0530 Message-ID: <1450956256-19094-8-git-send-email-ramneek.mehresh@freescale.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1450956256-19094-1-git-send-email-ramneek.mehresh@freescale.com> References: <1450956256-19094-1-git-send-email-ramneek.mehresh@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD015;1:5DSD6ZJrcUJbTVpST3EEzKmX37g8aaK+Qs4OGnGMubcOkJkj1WIHUcs8qslv4b2T9dAOHxt7UiyvKmu4z/AJEJBakhxOZ2uwuB9rVMq1A9EwSXwNkNnTwchBTEoI6netfqpvXo68anf82QshC8M5ugMAnabVdZ7mpOCeptrFiAHBmhdbGTiiGpSI7A5Gu2SRIT53fh0LrHH1NPA1xpfZWZtE0g56lzj+gLZySyi6U2YIC6R+yZzrG+vebQiarvVxShdn4qBeDRz+v/AMfIb819PRib7c7nJ60MgguhamElcG/xqCnLJINmRlXTQssaDzaSCiibzj7JMoqKmHk1k9Xz/+nk+azuZx/BjmqiFv6t1RCUTLLEqPNcgFKJHFt7C2VQsqwYK3kZsU8jULAZreb2zA+fQqQuoY1SzJr0rbJBx2i4CWW/rx2JIx8iS90O6B X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(448002)(3190300001)(189002)(199003)(87936001)(586003)(107886002)(50986999)(1220700001)(1096002)(5008740100001)(110136002)(4001430100002)(77096005)(50226001)(69596002)(81156007)(189998001)(50466002)(19580395003)(19580405001)(48376002)(47776003)(106466001)(5001960100002)(33646002)(76176999)(85326001)(76506005)(92566002)(6806005)(36756003)(2950100001)(97736004)(229853001)(5003940100001)(2351001)(11100500001)(104016004)(86362001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0301MB1579;H:az84smr01.freescale.net;FPR:;SPF:PermError;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1579;2:Hz2rC6EUBx5Ro3HaLslvErCtZY20YqqRmS4LRa4aakond+oCVYYkJZicoVQ61Qz1TAPuiHkLNsuqH+mVtyGLVgEUWNa+1ytAS6ZQf185U9zVUCarrZH2fDu6QUDLFOGFH/cnoxNzCU0DMVkqP6SMzw==;3:mDgjn0fiDd0LBkjeYZmodmslFBApPc3/3daisQ2YnqJsLs+jveaNDirVX79oSRMzbRHQYA4RvBUrjhYt09CtvcwdGrFb/DhHBYLdzf3r33M4oF03Fs5Tp++M4OE+KMasENxOPmuOr5L/R2t+hF8x21dgoeu0knW753MhBRaVffNIPD+OybVJz31e4Nbp7e8t5JTOe3d3KxgXjaszoCrtdf5s0uNbRZNMG9tA35M0xoQ=;25:I6jg5bGXUQSU7vNqXp577tCHVO9V2Rygt5mlVm6QE5QxnIOkLobNq96LkyklsUQLgJpgH3d+A8pkNDdPknlTcOCpOr3VfdLyjsDsDU8HJ9+jGgreow0PLOkaYpQzVeDijfK27sCGDf4cRctWFTeFIPHp0bheKOX/PQyZJzmR/uinslEDk7EpzL0A39jr5uHAT/D0tas2lkXP0bQM0mHAbT8GKs0AJYlK92IYcc1KS0hC5NCjX6VMzFCFDc0GQ/aDfcOsMVkXTMtr4uzJQRyJmg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1579; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1579;20:OUJwHdvbsjDYRZs9wEiLF2QpASdOCZX480rpOlOTvGo5HIFGy2BLVBpAGjaLbXec9ixCSqdEhxTG8hY9SnN2qgFs9y4DITqeDkO0nwnYjymNd7LMHbD0AxWFCEHPJjzTwEF9dCFNH7fQKIQrpEtjrEwbmVj2nos7fDZN01hZ2B0HbOvh0jC63I5OY5xFzJcZEss5QqsyQ66YAZuZhJzwKSoszXGajqTeZ6tCGnRimsUeIT8/1Gw0mNIN1ebkM+CNG/RcbUhy0QVr0td5u5ibWogvFeh5h/M9znf10rzJoYEdqsQZJ0uLuOk5qd8IwseN9NO3SxpaE8bxOK1eHs1wn2XlsCSS1VYu6JYXaBU6XWg=;4:fMXCX0W5zXRA8+phofXP+qG3Zto81ZvMlwXWJr8IPwC2eAr5Fkqncz5/tYL7cEaEcftTp7hqBCOvmJdipLtbaPZZRthLu2rfcGoVkBcn6OHUe0vzmtPbcRaFtcQVtCcb/fmb/xJYbquoPz9c+n3DHfX1GwdC+wAQv/+QFk84vZpffNrPLHNhln8jjFXiDIf2QOxpW7qPlAMpN4tId24ViJvtDGY5V+VkqK/T1U0Uy2dczRvhrHL7g+fGo2hqKS2TA0n4H2fFzkPZxPgOwrvpnp3voS3eV2GUDJVECk+CJtXXa82pncMApkLt2aHwgARMiLhxvPc1fOkUyWk/xwLN4e2nwXc4Z6LPsAlkKBTFjmFoZMqrFdYEcsoWRPisQ0vGxw+prsrKMazEcuOMXipz2lDVhsf+r5cH0DIem4Ph9cj80vaTLRkYMFCLZDii8ixk X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(10201501046)(3002001);SRVR:CY1PR0301MB1579;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1579; X-Forefront-PRVS: 0800C0C167 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB1579;23:jdnoUYJ6gk2Acp0XTSjKefY9wXygA/VK0EY5KR6?= =?us-ascii?Q?uPHGZf+4KIc36Fw5nuQeoyc1p/C/S3gSanmvq90mKblPbKRoHF40il8v+TFD?= =?us-ascii?Q?XfNklVNr4XFMp0MIwOLQGYhdSs1PTVh9fSeipW6a6+75L+C5Bpdv1SHbGq56?= =?us-ascii?Q?IGAtWX3CvNeHmSL3Fbl+4WoIN2n7epiFrn5igzJEcf9060hnSgXRPONqd5m+?= =?us-ascii?Q?AE11BFzqTWkup+bz9qFaNF+N6M60VFSTv4LtoNH5ojIvT7SaEr8NFK4ZwR8L?= =?us-ascii?Q?ISDhHnpEmW8O16toYs0cFZbMpt+LR/67ORq8+ILWTDFsR/lJdDhrRBUgtI/q?= =?us-ascii?Q?CjX2BWSwaVmx/XNm89NaWFeZH8CZyODCg7bCnGDH/mG9Tx5NACUVZPwoBeX0?= =?us-ascii?Q?Rzkg2SMNrCKJUU2rTWo/xxrHqq/x5I3Qy0TLh9QVev4KQL6DZrV6HRPYh+Wz?= =?us-ascii?Q?Sp6jJS34u9tuTQLJ+6Uy8C0ArVwVu1On1asDV6yP+ghhMv96/HOUc4fC9PrT?= =?us-ascii?Q?oHe6+NwY58U11/ELwRFXVt28IvBCiKx6SHtVup1x8tod7WZMyrse9sIGU3eb?= =?us-ascii?Q?cs9a4rQaygJ7FDaoKpwV+QRUnFB9iqhj389AJDgLSwS2cny5TWp5Yq9S6zlY?= =?us-ascii?Q?YjFMqm9MaccMaHeCmgOdgl7cDwQJrvByq4wOaczsmlkQqJTSr00iCMJxu5B7?= =?us-ascii?Q?trP1IWARKh2UER47HIAbQIcDRQwLuUevT1KL1jY5MBh5ClqspnUlm9mgvrAj?= =?us-ascii?Q?COuGG2nxXSFt0yak7RKU+sfDEXYzYuFPp17icHS6/HTRRbz8p1esdjbZygV8?= =?us-ascii?Q?kvtgkCkmwHo21AA331fztAOWpPyqG+cmglcL1jbJNHJCqUmSZ2cTChe881kh?= =?us-ascii?Q?bASssLzmSVqOlQ9HjF+VdOLjmCv+qP8//RaQkYARshh2PB4BjhF5YhyFxmp9?= =?us-ascii?Q?HTZMpM81qD8CRGLkOHXdeIXyU9RhGzwQgfTzccSIHFcznNrd7U7uoLjv1KJa?= =?us-ascii?Q?4Ton11HEL3vnWPwIAxA/lAL3FS2LlxjSD3LNpiP0yn6JiZxmel2V7dY2pvwU?= =?us-ascii?Q?ETAw9/NKyiJgnc57W6vrxVRgICCvQAiGT7mK0/wPz+fQnBZTkLq07mEBxDfZ?= =?us-ascii?Q?XxOBqAJzt5ns=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1579;5:9z6HOaWfJucZR0Pjv/QyU1/SFj8nMPskAFG0pD/JcREX058Yyi5UzRjmjyF+4G5XzXaY/pvyHK7nL/PVfW8cHJaHTSJvbkDNvDlsLx0+ziHNrXEjWL0TClayq0OrZ8UEJOiczKHiEpADkFciOHdDCw==;24:5Bfs2VBQf/u+z3tI7ZSCFhDXA7vNV68fww0f1KyYYQMeld39ZHbcGu0q3/VjafleJ96C7QZZbBN2LgoUn1948JV3V5xiVYcvf8/6vmXKXSc= X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Dec 2015 11:07:21.9979 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB1579 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1542 Lines: 43 Resolve synchronization issue between host and gadget drivers upon role-reversal. Signed-off-by: Ramneek Mehresh Reviewed-by: Li Yang-R58472 Reviewed-by: Fleming Andrew-AFLEMING Tested-by: Fleming Andrew-AFLEMING --- drivers/usb/phy/phy-fsl-usb.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/usb/phy/phy-fsl-usb.c b/drivers/usb/phy/phy-fsl-usb.c index 689516d..5d678ea 100644 --- a/drivers/usb/phy/phy-fsl-usb.c +++ b/drivers/usb/phy/phy-fsl-usb.c @@ -544,8 +544,18 @@ int fsl_otg_start_gadget(struct otg_fsm *fsm, int on) dev = otg->gadget->dev.parent; if (on) { - if (dev->driver->resume) + /* + * Delay gadget resume to synchronize between host and gadget + * drivers. Upon role-reversal host drv is shutdown by kernel + * worker thread. By the time host drv shuts down, controller + * gets programmed for gadget role. Shutting host drv after + * this results in controller getting reset, and it stops + * responding to otg events + */ + if (dev->driver->resume) { + msleep(1000); dev->driver->resume(dev); + } } else { if (dev->driver->suspend) dev->driver->suspend(dev, otg_suspend_state); -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/