Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754177AbbHMSQB (ORCPT ); Thu, 13 Aug 2015 14:16:01 -0400 Received: from mail-by2on0141.outbound.protection.outlook.com ([207.46.100.141]:18176 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754021AbbHMSMM (ORCPT ); Thu, 13 Aug 2015 14:12:12 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; From: Ramneek Mehresh To: CC: , , , , Ramneek Mehresh Subject: [PATCH 8/8][v3]usb:fsl:otg: Add host-gadget drv sync delay Date: Thu, 13 Aug 2015 23:54:56 +0530 Message-ID: <1439490305-29215-9-git-send-email-ramneek.mehresh@freescale.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1439490305-29215-1-git-send-email-ramneek.mehresh@freescale.com> References: <1439490305-29215-1-git-send-email-ramneek.mehresh@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11OLC005;1:f1GdQAtLDR3BP0gjMCrkKUa7RCuAV5DQQd4N+x9ZpZG+s23rAaJWltM170evDkgAj9cG6PC7WqjDSGk2mUc/+lsXqToHvFq+XeGbO32cvmIePC8NTaLPCgRaAdQ2xLaTD+sdUa5AR7+BSV3zVjUIhUvtlrHyrE0eC+08nSN/D5JTpu/b/Lx67uvo7UrivmcEvW3WVnoNHgUM7xTWat/iqep/CT9VzjYIOUwl/FVaDcm1vyAx3v1EVrtYn3qoLKbw8kPCpBIqcjcG2bSkLqQuBX13gHUyYLF6wUd8HT/QObywrbj0WUzn2WatBf9k6Ox+LARalN2f7u6L4Q+dQ2JqTedn7Gn+7cDHbm+lk4FuHXqEZc/FT1EoewU/akn41H3NedQCPqenQuPnJWzX12kj6g== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(3050300001)(339900001)(189002)(199003)(46102003)(62966003)(106466001)(2351001)(50986999)(229853001)(19580395003)(77156002)(104016003)(33646002)(105606002)(87936001)(86362001)(76506005)(19580405001)(92566002)(85426001)(50226001)(97736004)(48376002)(47776003)(50466002)(5003940100001)(81156007)(5001830100001)(189998001)(5001860100001)(5001960100002)(4001540100001)(6806004)(68736005)(5001920100001)(77096005)(107886002)(110136002)(36756003)(2950100001)(76176999)(64706001)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:BY2PR0301MB1574;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB1574;2:hBGts35hlZyGmy5mVjK7ZtF7NIj2MOvRSN7vWhjpaRE5r6DUKPLriaGB+hY6HGhddT4L4uBcTsMydN13u0yikLFk/Tr1eq9SNCi8quXIvp+VvF1UpmFUEasbIlkkRubYC85LmMENxjWWEFn7s9R0VMi/+FI7OrhfqYxnYLbTq/M=;3:g2CqfLCHXs12KrypLdSTLvqkVXiirmRI9DJSXenWk5oNcm2XsIc4G35/zaFtaV04hpjXDEFHtgAC8PQXpveheZXBu9dkyIAwIhpyk9/4IXdbFy+P060TQT19AL5K1Xis+6E+kYONWls4umJgcRrpknRbsXNW0ZS6GdGE3olZEqWc+nLPco89QBamvxnTA3q/IUuSySdF3Rox8abV5u4B0NA69fp+poXIZ953pMNcN8s=;25:jXLehkwKmnmjrX8/e5uLXlxCx4hjCV8NILGHaWEGx7edcbkogfn5c8vN1NMEIonrIdB62acMI+v7BLZurJtcZWgtfGufDe2zDye0PJKk+DOU0m3qNiywIuppluBHVF2GbKbiMVDw/KM9lObbCxZq+ha5TUtOJd1CSi9SsVnO9A6VW6ojXYfxQYsLs4bJy3DEypYwoKpVq4DXfNw6hZHjlFv0nucm+TCl6fFlZx4mFmkbk6KCsk6WcpoHIqPvQMx0gQbUFwNIVzvbGBg1/vTQjg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB1574; X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB1574;20:iBabT1SDoqbSgbsJt99/LzO4GWZsCYAnVnb/ELuGIBGnhWqRX/TDf21Id1pxBylMXdDwC15gL+L76/VFMa2ihmrV+C7+SeX4KgII16FaMGpmMj0Hhv9qFFz2jRWZOOnPZIvtZ1UJYdEb5ebZVk93ceVBpBHmmcgXvWitzKpGCZoHrBrbhW8Fl4U9GyQGE9XATK6TlVtRlwTt1jetDRnnZjDXxVrT3iKTP+57EPBJwu0ZRlYBy5PitZFKRhWwB+s8EcbiFMVYwBPjJAEw+n+MLKagnDuNzt6xD9yewtiIQL2tc6KMYjVEuPXI5rlf7UeOkSyaKp0MP/RsF7ysGBQ69HybBrvhq4WLx8SJtyRrcis=;4:0HE8jaSIJCNqGq99jsYyJ1pMpEn/vWGrmhbgKrJcb2VFiCa1oOQVsTCJ8J3IOyhTa4o8kPfD06HTa4AU2xPH1dAH+DE0Vxno4fXpTlPLrKStE6LF7p9B3k6cuo03He3xNZ+VPYBl0eBfld6QDVX1LhoD+Ua+cL7lC4IsN72ok9zF8EFu1w91Qvm3RWja/p3/nCXUlZf3t4/OLUCcJJbVvNxU9yjdYpzvalEILngacKwVScB04qYJQZ9W6RwyKs+zanwyFKFCPQNujlGb0KWNXMUtAP1aUHQ3PguKF8rDb3I= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:BY2PR0301MB1574;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB1574; X-Forefront-PRVS: 0667289FF8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR0301MB1574;23:nnsvpGaziPNo7v+nQq+KKCMeCNqAfLUZBTG3Jqs?= =?us-ascii?Q?DXWmOTmXG3ImpzkBfZu9dLZH4a2R3JWT3apK+XLElG2WVmqGKQqEj4SJRbkg?= =?us-ascii?Q?2rhbiE9Er0ZoqL8Fzh3PDpYze6+SOh3Kulw801sZ256rjhMuExIysppFY/Ew?= =?us-ascii?Q?xStrXgfKlppq0ZEBT4LPZ6CuGaTSz2wrDitxEvdyY3KptMfZylymGEas+SVC?= =?us-ascii?Q?fCONDJM0InkIfVV0bqw7jON87B79Db2HdUtJNPahjSnj/Wi7FHhRx7W8czAF?= =?us-ascii?Q?YJzaJMY2pWr+gh4F0trbFPJDg5DOQC+nXznLJJNkjkKLLRvaf7uXZp4GW+8i?= =?us-ascii?Q?OZgKOuYwmAXc8Ke4UjCOPgZcszW9w62Pun8RsbVP+lAyV1JiApgRfCXjB1le?= =?us-ascii?Q?rmZ6AOt142m9i4B0dRKAJW/pSe8mrK9mM71/YkDOR5hm97C6/3sZIU1XFXxW?= =?us-ascii?Q?Y80RWshY1hK8EpnPdlw+nwnP2lobDfk876bX5fcEq3TK5uxscsDikyiTXpW/?= =?us-ascii?Q?s0KS1RbjryF8axKFD/oVQYK6OLsjymscKqEjxGMKmfRkVLoJUacoOra9IbKY?= =?us-ascii?Q?NXnozL+NkGJi7L3Qdc07m903e/C9WQcNuQ/3AIkNioFpl1sxZbPJydex0zPv?= =?us-ascii?Q?2agCrrSzT307wwZK1S8O+z7DDRWHJGkz6oTSusUs/6pFVCNF7HpZkkytud2H?= =?us-ascii?Q?UkpcZzcCrGxa69iIEqZxXtNr8FSy2nZ8M8iyhBX8ALZEJ3uk9bSIwRQ3v1ts?= =?us-ascii?Q?7p7AjEqH1skvHBX4xMJqhhfKwu6fEF/UJRefAE0XXRjhMlus2uWFNDbkBF/+?= =?us-ascii?Q?xKDTj79Rskt7lOoFu/1RRWUSu2fxjnDyhCtg2p1Eg3VuUJWuQerIf4T7PpfX?= =?us-ascii?Q?gpKKqpxYHzQ4Ql0ok8jYwg4gDfmrhGidZgZn7j7B3hGM2bzW20U2mU+kogNm?= =?us-ascii?Q?XpRaMADTTtyD0pkOHp0IBmST6UqYVtkQeeqFhUBIYNU1rOF6oRBbrLbakncj?= =?us-ascii?Q?3fwM/CnGjDFVXaaBB+oSD5YWA6CI9tIFxFRaOsdS/3Zgf4VBDkEWMK4F5kh/?= =?us-ascii?Q?9WddZbJORFTUWTh9I9qJ9hmJDyQHkJ2rpDtj7p72zvzVtAaVtdFjnw6e+1Bx?= =?us-ascii?Q?zzZdYDiZjml1PN0pBCMfQ30LowqMZSxybDV1nSNmdmZT21n9VNeQ9+nb0eQq?= =?us-ascii?Q?55OD+jHAoWUWLD+bpZtq2m742ODxARM6PtrsrSlrMfTtAmFBBzzJEZ1PySg?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0301MB1574;5:QV1O9Ud/eVZBILI58hLUFdJOiaxoiFHW5I3VE75cxO9gajrskLw9kOaLDYXun1tZXZHtAZP7dNMVFXhFEJglXE8HIUJ4ZoNkQibH/h+XvuvbIiDFsUk2R7WQbjBfeKFXRkIXvKWG2LLLva4yGs2UDQ==;24:xA25opZvCgpCFeysIheNm8RDo61cRzFRl8APu5xIXz5wb/xgp2ha7SkPK/S23/g23bY/GQD0vD71mjXRomFTNF8jMpNOyNTJ1e4h43GLsAU=;20:XyXI1hFCRCBq0FQdhedbXuDAQ0VyvC9V0wT9+qGy6/xEXSqL2ubaPGeyvK8RUUxbwL2BStDHGEqnKJINIHfO3Q== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2015 18:12:09.9729 (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.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0301MB1574 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/