Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754650AbbH0QbG (ORCPT ); Thu, 27 Aug 2015 12:31:06 -0400 Received: from mail-bn1bon0143.outbound.protection.outlook.com ([157.56.111.143]:29344 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754473AbbH0Qan (ORCPT ); Thu, 27 Aug 2015 12:30:43 -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;freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com;vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=freescale.com; From: Ramneek Mehresh To: CC: , , , , Ramneek Mehresh Subject: [PATCH 7/7][v4]usb:fsl:otg: Add host-gadget drv sync delay Date: Thu, 27 Aug 2015 22:13:07 +0530 Message-ID: <1440693787-7339-8-git-send-email-ramneek.mehresh@freescale.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1440693787-7339-1-git-send-email-ramneek.mehresh@freescale.com> References: <1440693787-7339-1-git-send-email-ramneek.mehresh@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD022;1:zix+aqhAatJnDI5aAG2xg+AVnH26FcCDxFUnWIsAfjvtIjP/+xjkZCBoyG4UB72F70+omB/bwznPYfn5X+B3lGCU51Wbq/6bXGA+eQp0sCRGznGd7tLYeEKAODXvw65EfaPoQV0ReW/tpoOm3lwLm6zDu7mvUsti0/5uaV5L7ZuMDSlBHKrZAnq1yhFpY/IJlYcq2+chn0egXoCFLzRaXg85Dbnn6AeoM3y/9A0r3ZWOfuPgDc9demGtlVo6wshU7G4DW5baKB+UEQXRw223GD/zQrImEZLvIllCf2/HwlZ+THYGG6KZ7w6udALtY8yaZn8gkoKWWYS/FRFpO7gQMGpTkVVOg/paeYYNIG2xvWk/8wiGEkQ3pkQawflorfQOTKnvcqCt0cZmKRk9pHMfQg== 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)(68736005)(64706001)(48376002)(5003940100001)(47776003)(4001540100001)(81156007)(97736004)(5001860100001)(50466002)(5001830100001)(77096005)(2950100001)(5007970100001)(76506005)(107886002)(36756003)(110136002)(189998001)(5001960100002)(46102003)(19580395003)(19580405001)(50226001)(85426001)(87936001)(86362001)(62966003)(77156002)(6806004)(76176999)(50986999)(106466001)(105606002)(92566002)(229853001)(2351001)(104016003)(33646002)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:BLUPR0301MB1569;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;BLUPR0301MB1569;2:yIegqlwTI9FkR466/a+7sgNUrrJfwKOC1ZbyeNYSQTkxzBwyiXQkHi7cJxCY9yW05bjju1yXYy7Mbqy9q3oztWR7Meq0eCAddZfr3Bi4wBBi0zRF4S+ja4bRYCZzNAPu/Uw9nywmT1B3HHvqJ3O9C/fOLja+ZvtU/L7hzHFLB+o=;3:JlSTHSlIcjeyBvUPIiYiIRLrAb4w6vbxXkQf1HpEHpT7MIZM4KaC6gfwCZFx3CmVuUoGjuYI1V5xRi6Y0WYVh97J91kB2aVd0yoefMtT2v4LWplRuF/GFYm0RdJjnPtTrysZvMLv/5Gp6sg9kE5VKr/D/eUEQb1RCxosostFFo3LRa+xrzfOf2eVDfp/+SVAetSv6OMy9cg3JKNHwsH3Dt6VD0QWuyzEowuQEBCPgYM=;25:DY8EfPlkDgZ+XYf2pPVZfVEgKL7sgfnqwTdftSqEjmCmTFIvpIBmZnK11Ob5cU4EWR36Uy8TemkGqbhhZXncaa6WBm1efY4rrnAWE5icH/agVxQXDn05S8u0ZNmjQ7pKP5tQLsv052DlUCXhIVCqgt7bxeEomrfBSzyqI4fCgD4n5n79MscXLXWhqkilHOSS3z5Iv9joO0Yqu+SWus4AulgOdbOi+8OZm3n2YUm1QogXDXvyT8UOqqSjrpf7d3s6BcY8NZnJ95k/AvGw8Z9uqQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0301MB1569;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0301MB1651; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1569;20:lMYxhq1zWYXRFtdxmxs6PdPjqHESJIH9N6cyp3StBGurdXnHzdgptsjIcVUeMZ+7N84maCy12m9IWKt2Ca1XFk+wBP+NIlptmCPhFRoUi9ErqQ2mnJoAGn8IiTtnQzMYRJ8/rsroN/wtwwGneMTQgEUQG0f/kGhGa0EZsMq/sLYyuErpGA2qx0kpKGmPrpyRgIDCXu77+S1xvRVDaKY/0azorSaTjNKbJDe4XmA4O7/G1h41NWuC/K9VgPcoJ9B5O8pbWaeYYjkQ0TlJfMyz5gSuFNYlWpcO9a8TrN7O7ujJTrZiyTASZ+C0vQ0ta3J5fAM0SMwGAhpXYimDEeup+UU4LbkwlzObIRqJfbJGpmY=;4:IX5XgA7C0EaMAaYD4loJRCdpmwMusmjj1t/61teuJnIzESrLuq9Ubxd1oHs01i87KSCQDhmzloNuG35w/dzwim2uYeDwx7ZhtP3WR2j2ed2YK6TGO0w73MHYSTflRVMA4ufMVy5B1fjBd+fdHUMc7pbDDtYH3YXlh+6cFHWH4JMfDhZs4S1IFWSzGtN5WMvrsYvsHFoMRkbvcghRHPzLrp0NzmmSW7UXK0Kint11opFCZus9P8FSkG/KoaPocegV82f2u1nSHKFedzOAei567+n1sxhh4Bw6fJ1egsBE2Zq8xhoilUVVFXZiG4jHyVOC+12bn0evDqzY6wHyl6UdnQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(8121501046)(5005006)(3002001);SRVR:BLUPR0301MB1569;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0301MB1569; X-Forefront-PRVS: 06818431B9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR0301MB1569;23:jDVqDfcfOPJ/ph/xvYQ3b7omn7w91tUy4itbxzQ?= =?us-ascii?Q?uaRaTHAil7wPXx9y9gXuuGqt6lHxQ5TmtP1bn3eNbIGu5XSICe9Y6/Sciq3l?= =?us-ascii?Q?CbwO2vemWe+b2waAoe0LyfvFnnMnbZ2S8EG9zl7umvffmq3KDD57gingJFqZ?= =?us-ascii?Q?6OOffuNRUgbHcjIq7cBLoeHAVlqAdNyCOMmLBCaue1mhyNJQWslrJrGsyfDc?= =?us-ascii?Q?r0Njnvs3E/8K9dz8aXxoq7e/vqxhGPfN+LUIJ+UNqMWeT2/r35coBWL1+Bw+?= =?us-ascii?Q?/mNkWtyrLaPgxnlQhYKDUZXPjj//Vh41BH+oRUnMKzXYtPa0byztlM5KcJEE?= =?us-ascii?Q?xE87jL9ngUW84C0jwU16UeXUkAyfidzs281u60JhoRT3za4nEbdpMg8kKv5h?= =?us-ascii?Q?xa/d3rdfRuGZ6/L06sWCNGRwx0GOt6uGqRWianyRLJ3TGEWKpOBMPjVmZcK8?= =?us-ascii?Q?aspTWuBSLBoaBIExlW2+MxmGTXsLToF7L/U7MvJ46C2wAWA9HqreDHxo7w69?= =?us-ascii?Q?drNj4Rtp7iTNmlssIEP/b81Eoi5cJqX/Vjel5rkZMRUtZ34RBVvcMdX30MR9?= =?us-ascii?Q?QPCtoPyF89nLh8IEa7gR3+0pRF2vk05YkKdruSWXGEnjDgbifVfiiP9BVtA5?= =?us-ascii?Q?Sa91JhQtkKqwUAWDkR4Y7GbQvrBGxmF3V0O3ngYlKrAmpdh79vCRzOc7Lg1h?= =?us-ascii?Q?wXq8eDRxkEEv9WBVEbNKWK8K4q+gAJJd3FaLMtTlGCZ3l2lcdZlTEAbomcgT?= =?us-ascii?Q?v117zzQOAY1Wlr+KW21+If8ybJqVHSq+pUDR9l+S377aHdVB+E0j+RPVmBOf?= =?us-ascii?Q?L4tz6OGpuv+uUB/8Yh6N9E8463aQANF9pH/H1XvxOHRuicUYzXe9/BaKTE3b?= =?us-ascii?Q?IUOBd2Qpf0Q2kyyLvImYWq5hLx4SNu2AQgH3P2fC9QBiz8N5uOy1ZDsmw9tK?= =?us-ascii?Q?+sbY+FeVK5uCSukChdNtAA8ryoCTOdBQ1iyLazE5u37zYiqRMObTIN7AT0LG?= =?us-ascii?Q?PGNzyPnfmdgHSylrtpgzLUDxw85ND4TRaObTeBgOJYiNsiL+Qm3A5+2wLqsV?= =?us-ascii?Q?YKABy2uOH/SSJMXUNPF6DYd1G7Cq/PIMU+ZpyEr5bZlaCRlq8vR6N+z2wgmc?= =?us-ascii?Q?NI/BbMw0b+0C3fk5IFS92uJULvNH24NQWuax2hDjaFtqRZ+M40ieT5iKManL?= =?us-ascii?Q?IR7uqTINuczRC91n61ciJgUh/Yg89y5Xl6BeWDoTp5dV+OVLVrY0bNHaeJfj?= =?us-ascii?Q?CN1wPlkJgpGFFBI29Uag=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1569;5:m6rh9uKGr5U/wiXgrzFD+oZEAL/p07TdNqsVamugqAKHqaiNE5oFQ4UUsPScIY8oxyDEGCdE+Ihkrv9IR6vUO1gRD1j64tSV20MUJrCqs+LiSMNGz7t5d9NXDUmQ3wiUdgGr9xDtCm+GeCaqy5x05A==;24:RePBgxeJqX0l+2tV2x+tPdMKavLFgCQZybcNnClQNmP5k1t50z+1OlGLAKqz3aBvrQqhHaHbRtn6dakrj6DIlJrgfge2PT3dQnWsUoCN4uY=;20:9GE+QbJXILBzDsHeA23DARUA704RwHJMIZfDENJv3lkFV3aCbOQ8iwzSCYD0cT8NO5eXT7QwnDneSk0YQ22+aw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2015 16:30:41.0272 (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: BLUPR0301MB1569 X-Microsoft-Exchange-Diagnostics: 1;BLUPR0301MB1651;2:DFh3Gt1y3RZZ2bDf8+dFOzPdn2+uk+9r6fzgs6KxybI8x5NPvVKpm4y2I41lHXpeQnHde8JQtao1rZDBmd2pOjJNMofR8EkRAma4F4QcfLfpweuR10Mf1mK8xa/VZWg1sFJ9gkDP1zImenFQl7A9v1gXtgdJjrby5dT96J30fw8=;3:Dv1PHcvzlVFIXgyK4SBGY0ddAnf5LExE4b85QYm13kINnem85geyv2Dbnqj5EU6UnzolsE1dSSQn9grvLB7hUtACW3vLsChOGr4ue5GHHtxKdTRlPms1WPeP+07OtaDoub/l3i7FylnXGzY90NHFV1k3UDKM+rr+ARL5gAUysrgiVBvmKqkqtexAqgv+FdLUof5rVSMb/XWfeyh3a58OvbVhSr7ZITEiU7aKgpCnoBk=;25:du8eXBzbPSMEaqIWpA4lCGb5bEXN1l50CfxLw1cWkfk7KH93aVteGg5yRjOxeo3R3Oyte7Mn6FHvFdfaY23Fl6Ljie8hP9TfAVbWzqxZh8l5v02251Rl7lhJaEfVGBH72ZSX0RNgXTF7YNwAGwGSt4xhFkndtb4zztNtbnr86hFQstn+MRZ7+gPCG0HurCUNU44pcLb5F2NqWetEDriChE3iRZCahK5s3+IFfPNDQcJwNzbmgTXyQqQJNiP4UCCbGvhNSEhEpWkgEtzX8Klm+A==;23:QJR9LUuAmbeRph7NDNXoEQjOUTgB2XApw/j1iU4Q+aV3MN5265HP3AcTRF29aWGAsMZkDErZnihYqgwbyAUBW/TwaZi1CPOE9l4FsTmyQ3W4RAeZZALHm+JwdXUlvumHMxj0mr9VVz8LLJmc40FC5zldsuf8n/S2BhmU+4XdTWhcmx9w6JYlRRUd4DRX5j/z X-OriginatorOrg: freescale.com 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/