Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932143AbbHMSMq (ORCPT ); Thu, 13 Aug 2015 14:12:46 -0400 Received: from mail-by2on0114.outbound.protection.outlook.com ([207.46.100.114]:55328 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754064AbbHMSMf (ORCPT ); Thu, 13 Aug 2015 14:12:35 -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][v2]usb:fsl:otg: Add host-gadget drv sync delay Date: Thu, 13 Aug 2015 23:55:05 +0530 Message-ID: <1439490305-29215-18-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;BN1AFFO11FD032;1:jfIizzDd75eSvMOXZUnSqpra6sWYjY9c/iLG6xOgRUnddTglt1xdcoqRYgiXme1iHIyCN6OGpX3zw8uPmf+qqeZOdOXjY46/un6no0i+XPFtVO8IFlebJK0cuDMQ9IH6wVtuOWMziWSESyQd2jcTPC5YFjjErAE4VwLBwRN4C7r1p+y6rPJrhMHEy8JsnNgpWJGzQszDABFXzeuOTuUmCRKrmJekMEWDU7g9HkPbzkEW+T52L9Kd9RGFpRv8u0b5fgeipfGBjX6zOm3dvOkQOfF1kEERMoDiGypKmY0NgqV7V+zME5ty48htqjXGcWmKqH9Yn4SB1CKgswvzKFQdtEpn1ZTrSHxsXcgvK75goe2m0vZCu0vB20XbABzONCK/93GCqwUicn0cKdjngCAzTg== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(3050300001)(339900001)(199003)(189002)(33646002)(104016003)(110136002)(48376002)(5001860100001)(50466002)(64706001)(189998001)(92566002)(6806004)(76176999)(4001540100001)(5001960100002)(5001830100001)(50986999)(19580395003)(19580405001)(81156007)(97736004)(107886002)(77096005)(5003940100001)(68736005)(46102003)(2950100001)(87936001)(47776003)(229853001)(86362001)(106466001)(76506005)(85426001)(50226001)(2351001)(77156002)(62966003)(36756003)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR0301MB1570;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1570;2:TzfY7wfjnhBQ6n9+Drf4Oe9wsy2rnS7hFe74A5ALNOLUW7DyjJG3+CpQFWau+Nw9iHVtxxv/pBlOjtofVdDadDiIMuXRywjfwzHdciJrAqNydyCGF2uvABJ16Di70H31y1s6cWICwjac9OLDGuaX/gq0HllVYS8IobFp9rHR+JQ=;3:YpzpR/fUcS48DkY0tKy3lc8XYbk/mKYP+1Pq3DpCtPfobmcL52fnPAD2IB9djIvE9sbffXPvJq8RAnbbrSLXS8a/0X9EsgD+1zl7MZekvv4Q5FbOhcxILTuosP6v9fr3Zw8RWpSNDPQ3a/IPyjxw90dYXPBhKt+eIV/C8AJ7ylqXokI6t11BjKgX6Pf6uE9hw2wEeRgjZ81ZYe/ULTBwgSZLbJ41jMgFzRstOMEQ7g4=;25:tYxZGhkEA757i2axEyFrSmmwFw8MvgBTUUVADL0CsAz1x+Tp++he9IJVDWztK/92DTjd/BW5mmct0C9K8fzC6PxXjFPiCwp9TR2t9Uuwvy21IEMvzro4GAmhDGoyMueKQJL7FbgU1i7fp5LUqh5FRcGrL75fEeKSiPOG8GwzziSB9VI/w7A2NuZaE2qsWmBijlqfa4qDpS9dvXf6RHhIZ1I/hXXSWACpstSMJ/Rpr1C3mq5/ZGeHJCe0HfbdarW+6anYyjwOSHZxYm55fyXxpg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0301MB1570; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1570;20:qXF5Ax4WrqQwO9lEdD2pa7sw5e6xyQnFuO32PRrA4v//kZMFmMM4Ux0WeeuGfLfal1c7KdBMZZe1KmSrOtTFp9QRWjWFqRArhTmNNmNn+9nLePMMXK71ICJvVoI8UOTWcV85t4FYD3P1DNQbHhEUGXqDRJfgX2PNjzxvvlghSsYBrusSZAP3Ueuw2JJ78NI/gTRNQ0TyOPRp8yacM99Hlmeh88/dvYWN7bgzJ0XXc5j5rAzyaEYQNINDsncffVaqP7Q4JRk6rSkf5N54gMiCfjFRfifiI9NhxNY7x3Ag/6FUtxVsWgVRsd7vmCLsaw4qhcQLjzDchb5O32vwEgl6gYGVlifaqXOnv90uf+UbEao=;4:8B6Nma9XMoDviwF7sm5BVwbc5mDJbTOeU0bNPApDz98f3vx79mvE5seyO0tJo0MDMz9nuUtbrTZxCQZrT4PHvcZW64KA2WMkIUocrJHUTwcu1+jhWrCmC2rdhOULnMs/aszNE0L0ix+WEJIqMj3gOX/NtvEDMwaWcDKsCilBOxFBMK5CoQ4ba6LjBGjw9l4FTtXUVHBVlSq6ELIuZ0jM4jtlgrhfESGh8yQzgOxPokicnCOG4Wvk2ksH3bWVqxNAy0Qa35emzzzh5c0fWvWdQ/KWVV4FitSgzDUqdDsdkDs= 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:BLUPR0301MB1570;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0301MB1570; X-Forefront-PRVS: 0667289FF8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR0301MB1570;23:v0XV6M6k1XEqvIz1wmyC/rqLXRpysUpGew34eNS?= =?us-ascii?Q?Q+Q1VI7G5Wui2GDdLO5yIPHX/6ap/mA1TZzhI9HaEqJhBmgM4BpdgURLyLeU?= =?us-ascii?Q?SQpiSI8azxZ89ZlLu9toYSo5og7jrEg3QZJIiioxyOkZps0IgV5LUnWOcl/u?= =?us-ascii?Q?/66voyXaI557LHKGjT+26a0rgisBv51eb/ujqEeqZYq8e56qdbAFEq2AAAzU?= =?us-ascii?Q?QvCP7y20KsIfLttdzWS1xX/q0S8tJpSiAYJ/pINV1w/EVbTqVra0RbBH/i85?= =?us-ascii?Q?yKMnt04UJ7nY4posP+pCNqZh9r3TQHe7pocr6kQdgAg8Co/OiQLsTIIXoTDJ?= =?us-ascii?Q?aijdrbznogZKtrlRLI4FjglXjptL6ZU8ARsv8DdGRQ+YS/g6gYk1sFHw+jK9?= =?us-ascii?Q?bd5I81VW1zc+IDHwx2Yzny5eocHHkx8h/0U9R6kbuoDz6usFQXCwlxBNtlyT?= =?us-ascii?Q?U2bGPjueNc2dzdJI3lvMesTSr0Wdz2dQiJuCLr8L11uIdoAkyHg5KplOl+BB?= =?us-ascii?Q?zQTReo/Mnb3LUQ3b0VuGsv7+e5t+dJMR22AEjYYYVhYxJazM8zGTiFVNC+Jt?= =?us-ascii?Q?ZPmkxxsXJ9kWvOf+wq1I3/je9jtBRCx4k+yj4yRGz0ZCrLSMa6zLWFmWlDxA?= =?us-ascii?Q?z0O6tp/DjHC8x4SMOC2sAvHIlbQmF/CcpnZgHZWpqW6LVPARbhDKzij/sZea?= =?us-ascii?Q?zRs73cw5CIg+zLsp5F7P5J1+nYnWnNsdH2TPtK4J57KIOmd6I2Kx153Cv4IO?= =?us-ascii?Q?HJrf7+7Tk1te65gGm9lwFeqD2Q/8Dm5xCPW+hG9vMJfKko/TqESLNCQcThzF?= =?us-ascii?Q?TiJI0EnK+c4qpEbCjnWaDNBW7ujzw6Y6oStBkPIynjqcWos5uE8ztZPOSqt4?= =?us-ascii?Q?RWXzLWNYo24fFDFmLf4PiwFdOOG2WMSJPwB3Faj5RuDAO6zOlwetBRgMmsA4?= =?us-ascii?Q?RQq535LOnd6ZMmxU3q9HxXXNhn1vVbMpt/1slYLeSFg+3RnqD/4k8Yj6lR1U?= =?us-ascii?Q?3L98UMPmkq1iV4o5AstPkfA15LIPkjNUwDt7+6PDHPaR1XFO5Avug6ni8B24?= =?us-ascii?Q?z+bfqjXgMCcP3ne/LkVIMm0IkE8tKN836f0uA9XOS9HOdocShtf2YegfFRSZ?= =?us-ascii?Q?4ZFzS4PzQztCQEvrQmjO3tFTMWtZVXjd5bu60q38YRmW6iqkiQCqsX2cvDoC?= =?us-ascii?Q?+I/pTTabpZlVZIiQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1570;5:Q6u46lhahCgkEbClXAY/n91WclnylT4oBSWpai+/egb3ESjutU0QKS4ZhJbPC6VSbRJIEeGRrsatVDjLjlIk9DehnaYDcRZi6XYQsQQ3ZftnQSEBq1SSOj0ofDX0L+tbOIx+i9t2+nUvfQ3kja1amg==;24:8gcihsymi/WvW+/IwfqhTmlRBPVaTZ1L7kP7X3jnc4XQac4RXHlPuDW8opzoe5YZ8eZrcCjWba4v2puEQFhf0JGdUV8pBloPcNfHgHwckEM=;20:X0VlX6LlpEbEafFcwKXAMVlFka6H1I5HCFq19xC8Dvz+sJqTdITvQmtpkGL5XnT+YKImGBgU9KITDfqx5EsrOA== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2015 18:12:32.4775 (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: BLUPR0301MB1570 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/