Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752421AbbL1K5F (ORCPT ); Mon, 28 Dec 2015 05:57:05 -0500 Received: from mail-bn1bn0101.outbound.protection.outlook.com ([157.56.110.101]:18404 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751995AbbL1Kzt (ORCPT ); Mon, 28 Dec 2015 05:55:49 -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][v5]usb:fsl:otg: Add host-gadget drv sync delay Date: Mon, 28 Dec 2015 16:42:34 +0530 Message-ID: <1451301154-14422-8-git-send-email-ramneek.mehresh@freescale.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1451301154-14422-1-git-send-email-ramneek.mehresh@freescale.com> References: <1451301154-14422-1-git-send-email-ramneek.mehresh@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD052;1:tuos7rOHR5D8sYdhTCyVu4WYgUF5/NrD8sUwhMXJ9JogaoBy3c55xHBVV77f6Ri1+Ol9DBazgCk+qcKzA6PttUsl0j5x6SGOlu3XZZxhWWiSIs3zWnmY3mjgmyK4oa7qZt6XK1anN1Bp+SwGsHjuZaqCdN14y8a6BTNmbY01BF9pwCL8zYn5+//AdIKUa05pDLNoQjVxFo+AJrZrRhiZPkK90aqnqTxWOsV+eGxpFNKHBuFZ4j0UDgewUbiU10MyvY87ch9nXybgax9UaQbZh7IuI0d/WAWIbA7BMDY0o+psKJ5Ky9jH2EzxFNE0+rNmh1bhYv0EVTZ9VQ7H/FylNDZXKJsLanWIW+aLdZB3Q5GhF1HYZgAgZB5l2OgkwFoOIcPFfImCErjdkpJExb3SrUVuHCHh1opgBLvMdrHJe2M= X-Forefront-Antispam-Report: CIP:192.88.158.2;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(448002)(199003)(189002)(4001430100002)(19580395003)(77096005)(92566002)(47776003)(69596002)(189998001)(19580405001)(104016004)(2351001)(48376002)(11100500001)(50466002)(5008740100001)(50226001)(106466001)(2950100001)(229853001)(87936001)(36756003)(6806005)(85326001)(76506005)(33646002)(110136002)(1096002)(5001960100002)(107886002)(76176999)(97736004)(50986999)(586003)(81156007)(86362001)(5003940100001)(1220700001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0301MB1580;H:az84smr01.freescale.net;FPR:;SPF:PermError;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1580;2:awZJqNMEwc3hp70DclG76GNIrrKV6iw3k81nVaL361jmJbFixijrIoAa7ovp4i1BGKJPfliGDindGhUykE6G66G/xhDaN537IRSJKF31vEcR5jCLQdCsu2eP4s8DRRzAFDk5VKu7HoBwhEPsKcqWHg==;3:iTebJwZdokBnHx8j2k3Mm+eqttCXCiMPwJag4/Y7Ui1mrHHoewvS+zyB8HF2LciMWkTvu99woZO9scKXtrRrPbXx9/Qv00sGRf7bnTHXyXuAlfFKLitt3wPiNr4Hfbuh9ztW5EIBTqAVPZBScUIZ8iX0M6++ZoR3B+x1N782h2Z41oodQmOnMA/QavFtYhiZMlctIv5vInhBDgArLo4qwOGmfMf+MmMEScG2BcXApic=;25:teXeX8yRDFhfMfCAiAbOoWSgijOs08Mab0Y+AIHoso2fxFB4zKfrlO9Bsohz9NrY4T//qXUr7XytdM0nmiB9fe90Sx3GrebouL0HwzWqRKf+/ByQIiNdN/nG12cFJGhnJ4hwxbYGVECm6s2vXSbya6ho8ZE6XP6yHpQRFfJDnnK3zwkK6mXAHruQ0IZojLvLJuh/BSLan7eIwXqVvv5zXUHxwEmocizVOLx4jhJxo/tmgLwM4kEkNImR/mR379ue0A9j0SBg4NcXBDlx55tJQw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1580; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1580;20:CvVgJvTSw8a1VNJ4Fs/x5nFMVp1eTlamMBcbgtUAvncP0RPuvuNB8oFqA5J6GZKwyYS9hOv6B+1Hnc3wufx4mFALxT9ENU7MTckGxEWSK8nh2C2PoZvdn0gruG3aIyvq98x+qmCrucUZOQpGh0C/cnjhf6j+q9Q7AWICZTrJYOX3QG7gZJ/XBjBp4CQePA4UgS5O4DEP3qYx/ABAyPYD9aW7J40km3/O/4/BJmUISuabBgMaFWC1qPnTMT/O1LH+szZtnylS6+f89HhED/orn2e1HzU1Lj6FzZRX+sQiZ4EoDRGhxMge/gy7IY++aaIMfPv++JBSpbTAlWEUN9PwgcNuWvmfptHYg3nnXENBCqc=;4:BMCWVpVOMs1PWGSTxK9te0n9vJoG97LKBR4nPOqKhn2uZ8zebJ/NG9ohq1ugNRBLbxscyacL1TWgAdvoViu+jzn59qVeF7vM5Cu+Ug43ssdv3bX+XwBzxwMDmjWT0b8RxyBbQRuITkAkrGmUtYPyG75tXgsnC0bosqqhrpxI/g8BG0+WsR7xH5jsIHMMHKuHsJPZhn40Jtaij8/sEnS+aUqeQSJ3I29pnJgAHH6Uij0MQw8BCgT3Uf8nrY2KEhW2obQhgQQv65P6mQwhbqTTAPSxVNTRKCr2rB6SIf69w1SuLrc1v1B1xlE0iq37gsnd8vv6P30iOQ0JuKv2mr9+hsbUxMNjJvO/ai9QTQoSbNOGTpVmQgKJzUEb4cc7nxZ/MJxSz/xOYDHC4NQwrAv7JnomW0/OfmxtKhhxzbEsOXrWHycl7A45czNTCiADEI2i 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:CY1PR0301MB1580;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1580; X-Forefront-PRVS: 08041D247D X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0301MB1580;23:wsExbDRpS/NUydYZr3bu6f//f4cjkBqFjrwvPd7?= =?us-ascii?Q?j9DTTYno3zulmHssAWDK1PeN+CbuS3g1MERop7cdjLwSDKqwDyCuv9zdlcyj?= =?us-ascii?Q?9EIAo608cJKof9mRCjI6Qr+3pIljsI6aZoeso1eDY7IK2oo/gEBkD/LPk0MW?= =?us-ascii?Q?WySkahOlYDD5JBnR2cWvOPt13GDYe+8MF01L3vrkNkMhd1t8KOw3TFMyPzPM?= =?us-ascii?Q?Gofbsqb8zcSNueDDoIVmBJOTNxF/6UreUu72XhL+iq1t74CzieeXMsAaoYKT?= =?us-ascii?Q?Yzyk7/ujkpAvi3SIjPY7BadmIqIVTMk725ZSt1PIRuCQPL7ZURm26A9QU6sV?= =?us-ascii?Q?etQsZ6hEtEprIs2X5jtE6CJmHk21Jph1MEe9AyLrwP1KlNNZy+Ofuml8tOFE?= =?us-ascii?Q?lmfigIOFeX8bQrTQHgmXTACpjiezbU8rwHaQPlxJf3LU5F4WgqV7n5aSCzBu?= =?us-ascii?Q?4Xlbh/g0H3pYqaqYeGNbyLwEW7r+8Yir6usxIuYFeSqIp4G5MK+m9eZNmkFk?= =?us-ascii?Q?ijeG+GZhCcXGTTtAC1TMboZsN+uwvnfaSVuQ5QBIvBU2jdQiL2k/XlTpR7/Y?= =?us-ascii?Q?By+uGxdx312a44THPeKJeLnXTpI7K8v/u0hRVOtYdXCMu9Bdesy41Rg5c3/K?= =?us-ascii?Q?eVxQTraqX02QyACJT+jRMGbUmSsOFfqymuUErv/CqU8eRi72UHj07TdZ9shU?= =?us-ascii?Q?1bhQlHfh6xVigJmWA77K4yszLWuV+QfKq8rzcoPZDdnxjoF7tTBjsufVoO/2?= =?us-ascii?Q?1JuaPUyiHuOvgXlsm2rBiv2NNc/zdBWS1X5mhgYTZ/dnRGNQZCTTpkpM/RSb?= =?us-ascii?Q?DMdJWXyvsGBeczGzsf2Fzgmkd1dyvRlmDTu9XtZua5bIB9O9WkaaZtSu4vVn?= =?us-ascii?Q?kYGLbetpB3Jqj6cktw+Lrds6pMGQhwLxSNJhOY4NyUybSjZJNr0kARbSkHaf?= =?us-ascii?Q?vfMoFurFaagk/+/fXL5HEvgYwEjol2evZ5fN17ZuoU4oHR2PZNbEpF0HsXqr?= =?us-ascii?Q?ajr2wSzK8RPDpL4r05vcrTgUWQ+y9pL0Nl7UjQD77xsbjbsaUAOIbmcIEr82?= =?us-ascii?Q?6/qzzI/VGo9cPgfqFrFCotwX8hYqwA+QYkSo+SfPmQCJXs7azaA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0301MB1580;5:1ZgDPLw22KeoxAvFis25AdOYhptKXVFr3G+fYUAFFbeNZQ/oY/jZQ9PKDbWmnWN6fLK7tw5PmapiqeD7ERacnkml+i+0lN6m1IiYfCA9zoE1mHVaDr1Mrj1Z91+fgz9bfRUDRq6EZr3Tun8VqxUuEQ==;24:o1pB4PF4IWzs/UDfcDn9uDW4g0kdXW3fjdYcnntALy4AdcTtIHEcNrEMsbwLfYySjIKsfEu1LiOXl+/+xURy7z71zooIAJXfOZ378GMpKm0= X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2015 10:55:40.5487 (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: CY1PR0301MB1580 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/