From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x224BTMTYuK6SYgRKaD1870SiKEZWuDZ0Zhvrhw7w8ClQluGNShb3JBPXHS+ewBAWhtVIh3sc ARC-Seal: i=1; a=rsa-sha256; t=1516944333; cv=none; d=google.com; s=arc-20160816; b=ZBYWWEAa2ZA5zE59Ltuxub0z9/UVaAR+K+2mSyH00d0Bb/w7d/mW+Z2H6i/rsok7Ts GQ0hBlxcGqTtDkGnPr9eTvmgjPQlc8w4pwsWl+OOV1gMgzFQFNOocBtlNKNCmE4V+k8J IBftR3nuUp/4I2OZ0fvE3MMsYHpK2N5ar69z4tFKl7lkDz5EbqoZxxKvqb72tDyYcIm+ n3uZ5vKADq9HJWiBQoMivdUDuNLPjCOfKAvFayTLszX8G9uyyq/Xtwd7zptfdkT24CL3 PODT6HNPrSqTnZuyPpAI5pV3ebVt2A2aW731CH5EaMTk0JW9ro/n1vAKVt2ZCMP9cWhp 6LEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=spamdiagnosticmetadata:spamdiagnosticoutput:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=OYFAdVA0FhqWQGMEdjsH/VQO6rdq9luz6c7c70Ha6RY=; b=oQIeE95sAwf5dto36UdLXD9U7uw2cVMbBGp9MHoo+5TraoZbJ5c7Z3hkiMXR2qMYAb wHAhkt88tCzCuC6XONU11252O1gQEuY1LXhHnAC+bYgsL/HSUKKBYWZlMOSiQol02xWQ SDYCDaUw6Y5VSxSrhZLeWuhon5EkqPxaqxBg8uF6CZ97MnS24ayobS/lXhDavs78//L2 TQ/DpkVFqJbcQLAGLctm4kfKcL7iVv+WQqMf+70+kO0hm75FVZV0BgEa+IN1GXGYpDZF QpGZGym0f5hF6ll/8nSdjOPskJOOgOPR9csQbk0/SyybQ8GID1nkwwTjYLVqqgtUtlPU zizw== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning hzpeterchen@gmail.com does not designate 104.47.42.48 as permitted sender) smtp.mailfrom=hzpeterchen@gmail.com; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning hzpeterchen@gmail.com does not designate 104.47.42.48 as permitted sender) smtp.mailfrom=hzpeterchen@gmail.com; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Authentication-Results: spf=softfail (sender IP is 192.88.168.50) smtp.mailfrom=gmail.com; linuxfoundation.org; dkim=none (message not signed) header.d=none;linuxfoundation.org; dmarc=fail action=none header.from=gmail.com; Date: Fri, 26 Jan 2018 10:51:16 +0800 From: Peter Chen To: Sebastian Reichel CC: Peter Chen , Greg Kroah-Hartman , , , Ian Ray , Nandor Han , Fabien Lahoudere , Subject: Re: [PATCH 2/2] usb: chipidea: imx: Fix ULPI on imx53 Message-ID: <20180126025116.GA6921@b29397-desktop> References: <20180124171439.10721-1-sebastian.reichel@collabora.co.uk> <20180124171439.10721-2-sebastian.reichel@collabora.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20180124171439.10721-2-sebastian.reichel@collabora.co.uk> User-Agent: Mutt/1.5.24 (2015-08-30) X-EOPAttributedMessage: 0 X-Matching-Connectors: 131614179313333663;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.168.50;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(39860400002)(396003)(376002)(39380400002)(346002)(2980300002)(199004)(189003)(107886003)(58126008)(1076002)(87572001)(5660300001)(104016004)(73972006)(106466001)(76482006)(97756001)(105596002)(83506002)(83322999)(33716001)(16586007)(6246003)(6862004)(356003)(33656002)(4326008)(305945005)(50466002)(54906003)(23726003)(81156014)(81166006)(97736004)(76176011)(68736007)(498600001)(82202002)(2906002)(8936002)(53936002)(33896004)(73392002)(81442002)(229853002)(86362001)(2950100002)(336011)(316002)(8676002)(9686003)(55016002)(47776003)(26005)(77096007)(6666003)(46406003)(18370500001);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR03MB1410;H:tx30smr01.am.freescale.net;FPR:;SPF:SoftFail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD013;1:3lFLJ25J7BNAStxDXceXhTAhypTecaUtJiefYHvzBZEWUDHun9AcOX6iZxBGEgxWtukCCS3G9jrVSRHnok7Dic1E/zm7sIyoKQNJGuqTQCkwyqm9k3yxbD1Y3+rzkatY X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0fc14a71-f2ae-40d0-67d5-08d5647d37bf X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(5600026)(4604075)(2017052603307);SRVR:BLUPR03MB1410; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1410;3:9mllhG0iW1uTRi3repnOkNFKq4/evShCAcOCqsi+pfrTp7srLpyloehDmeVno3gbbE7uxp7FOf0aRLBOO9sQYcn8Oe8g8R2vTxbPeVCkGzuWNNiPJmNqTmchKUYnnuJgpGqik0RBUx7YkSDBZ9oeW1RERrcPjW0Psh8y5zFd73VWv+NhyMgYWqkqEffctr6F6b9nlYqvuSoGks2UyocbacWShOXZbal1PmeemNPAVWb2lKM21a2PH2EvMdDI9R2e4o0ZK9lNcvQp73vBrR+ShTHeWmI0OA77YirFKkRA/3qo62ASk9r/huWUQG4aIKXJTlGEX5pv2tKoFdVIWp3ehTG5INz0VZ15uwc+vwo3u68=;25:QbzdzQcot3qfjzi1Q04oco9zMbGye3bD5d7z1xy9RnpPu+LM0at/bhjsw8PP5NA9p2PPDmBb2+O79VUttivYRYKzhIf0vQ/E+1wob8KxmMRbkTPmRNLMXuuin2yqbhRLMbke+FlO2UwoLuDoGJzsWN28ZIFSYgaIiLsWEdfvT2PjU69qbi4RAyzzHFDgYpStImA3AEDB+6+zBqewOMV/i7cK2G4nvhljkHDV0bFrDtLcFFYH6iLvHRIgmoUWU+Y/xbsjBZjKg+OsrJI4oJbkcZcKMOFIthfwFIjGXMpTxAz7xD2QZdQy28VTMO8Nd+88qJy1u7MVzlu9FfJZk/0s7g== X-MS-TrafficTypeDiagnostic: BLUPR03MB1410: X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1410;31:QlL2q+5VIeVEZjsKrJ/8ZgZSC8H6fsyy5BdQo5Yf2VyVA7Wk1IWa7SgQRrq6iYPitIQ1yUUiIlB34ERk+qImrZCJMhSDyiACNBFPxwkkmvggXLjZmY8EcaOgmOEj9oOphex3FFtnOvgwX2Xoq7lvHqEgF9YlygIl9pHnNHVUaTnwFCKIWr6Y0phBNB56R+yD+Xix3TTYSJGX0Wwu4aQ+EJhRJoOh5pNBGRMjqBnUfig=;4:tUBALyi+n+N982WxMbgqavrhP4oipNiatNfuUXfQUZkned+uRyyJzBo7OtF3Tyvh+8BVf7S4iSIK1Jxmu7daqN2nE3P+Di50qZ4UJI8e3Gv8X/ttGfSfsPB0NknuU+3buAfQQo0gvWoKst7Zn1EbWkJ2LB/OI2s7UAz6ndHhyY6HrtpEw1tenlD0baixlqHz9PD97mCPLEc1f6BLZLbplAjglxVX/tGWtWDqvAS3BgYO2nzmLIDmFc2B/fQcT6/I9VncrHRsyWm6a3hpLMVcxQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095135)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(3231066)(2400081)(944501161)(6055026)(6096035)(201703131430075)(201703131448075)(201703131433075)(201703151042153)(20161123559100)(20161123565025)(20161123556025)(20161123563025)(20161123561025)(201708071742011);SRVR:BLUPR03MB1410;BCL:0;PCL:0;RULEID:(400006);SRVR:BLUPR03MB1410; X-Forefront-PRVS: 05641FD966 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR03MB1410;23:BHOPJkFlbhy/EJ9f95O/NS4017zR9wfrFW2EWzBfj?= =?us-ascii?Q?YVjDHYdBU3042G/uhck4liRFVVZApVIXgP2gPvWIr1AvaMKea8Y+fMlTDVRv?= =?us-ascii?Q?ywIWUnyY84iBT09TMpkWIVfTF//iw3Ms4saG9Bh/zsLUC9EzVg/nIvLe/uaF?= =?us-ascii?Q?ajCILTVevKz26nAU2ErQgqbAHsMV0mf/Sw10HKeypr7St8CjfsSW0hB2Jc4y?= =?us-ascii?Q?pg4hHIK7yJBjZdUGfyRd/O5rVuGYrkL1jI5NS3zWJQGdUku+ve+j1C1VcqjU?= =?us-ascii?Q?o9uBE+84FlIDpA/Z0++iXjfBb0mk1l2gftf+Ybrfq/ZYjIImfUeA4n44LT2g?= =?us-ascii?Q?LxogiH1c9nKHbWuo6xputl3O7TAgMsWAyKFC8cT9U66AwNTCpB9LeHf09hXc?= =?us-ascii?Q?oxwmx1JXNfh7/CJ6KhO9GhDuBTm4rqu7Y6wzeNr86iwv0ctbFPIb4zn2Hgap?= =?us-ascii?Q?4kefIAKl0689TalKmIL4blhpdfhxKnS89slpJtydDwnA5STwTn6MiQe/zU5m?= =?us-ascii?Q?uU1N6mWPHiwYCMnc5GhSlAJuirfvlEwZWOSamCD4l/pwykp0C4Z5eQC164oL?= =?us-ascii?Q?xm+6F0uclxtpshXK3qFdJCT/V+PxDbJx8tT0SCWj99PZEF1NL7Vj5bFjAupe?= =?us-ascii?Q?WhfCd98W9IGWH+hhpCWbG57rGLxK1kmkiSb4TECMVJpdsFwVSu5giWv1uF4L?= =?us-ascii?Q?jMw1F6HAkSd0lIaLw6qQMLoTiAOUAwMl/3QE+AL4UXjpXvip53/eJQmQ9+Nt?= =?us-ascii?Q?wUmq+uqWunv+0RCSfVJsPJgwShlYBs2uC+vPWqyUy4C8pvBDISRMHdZIySSl?= =?us-ascii?Q?Hn0muC9GquZIj+ey5zak9xcBeXQ8cJHSMqbDKrfQKzLfjHNJVkt+eyxqiA4L?= =?us-ascii?Q?oiqtt4R+hCTC8ZMXCCr6eGb0VBi46bE9axqzXxfkhI6yCqslQ+XyE4PpW8w6?= =?us-ascii?Q?ERjtV5/FWMhtN5bgxDRwCKMfoRGV8vkE8ThfRHFHDSUD8FLY2EMbrHLoBInz?= =?us-ascii?Q?0nXbXhJSGATsN0UH5Isf6jTBaLYtrF4LoSzPdw0HKpID4xhG6gTsnfzGFPgE?= =?us-ascii?Q?qcqWy9dwuRej5ekncSez9WFoE4UtCtWRl8YuFbsm/XQZ3yryJBx8YFw6/3tR?= =?us-ascii?Q?vVuqtlBg47vhwgVROqBPcayJnEh8zIgiDmobnzTWpXLY+oSRJyLHCkBqkz7F?= =?us-ascii?Q?LZ6bDyC5+4cMqBJ1UM5Hr9IPGr+lWbk6nzisG6cLPPhtQbMO4EeGZoqpCwvj?= =?us-ascii?Q?uOLmevrSDhPYBpCmFZCOE2dQ0rgCQOGI6z17VVhgsOHMecpU0/hjuC72+HcX?= =?us-ascii?Q?0TxlmKP4FW77/0+rb0hXQPlI8HQk5ll24+//NUlk3lLzOkenPGcCJCD981iL?= =?us-ascii?Q?OLiYw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB1410;6:vCYP8Xqh4mHe3dFAZJkUCV+3tpPWFAmZaTbOY6gEJ5Lwdo2ey5MFNGy6D01c95PR5K8Md/x3H2XPm3w4UMODua28K9uuHHdgtVeEdpvDlYF8rmhygjw3RqxmJi4Hnedq6pfhrBaZ8zZRInS1JFS2KmBknr4gC0JaIGer0yIhbEIWxUf4sC+leKxnpEdRtHaGtOWTwsfkQyL7lnHyiC+5ZvxEjyHweAVGwnlcxscVB5INYl3xINymVuxv6Y89s6Fpb0Cm25wi2SjrZs7UnErBvfRHfq/vlzql3mPnorVaIYHabOKVmO8m6rjvqg2F3PnAyYYxNT//bepWdEmgeK/y8O5EJzuNwjiwx4Bwr1WePUA=;5:GbcwvYkQnln/WoEt9QeBhfLpF7eFNePUGH/KzOSbD4Ow94zcGn8y5HIAffjHxBJPChprysRpK+eGTSwf8aGoNH1DJvJsvYeonOLn1q6Bly04xqPMjLivQsCwtDrGpJ/mE95NEw5uIgmA2Q2Lh8BV5HOypzJImaQaaE1/lNlORZk=;24:XqYaKYFIhlj/jAykiKMUao8Bm176svBVTGaxYcj/qcYM4YpTHKrbrFfsVmzQBhVW0irWfnj9jsOWdcoB6G2rQzrTWZ9V6bUPwo6J9Msxoc8=;7:G9VeBRAnK6AFNQSvBG4hhUJbfHGdINeeXxV8aTFLVtK6rkvEnPX8W5AxoY4kLZ1ynwc44R4JQGyDyLHvUIHUyGzuiKXV2Aseta4n6ypwLqrYZnblnGY08lO2quYceiZCG+iTtKUueVf4SazE86gJKW2h+ApIgH5BYFzfUL0c+k2gaU6pCTM+2LOPhK3fAPw/hjtE+w/YOiewKAS6dbgqRNRhS59TLYrRJvV2bjDqTg7XSYQz7f8nPtgTdQLf42Pa SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2018 05:25:29.0713 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0fc14a71-f2ae-40d0-67d5-08d5647d37bf X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1410 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1590494846034483631?= X-GMAIL-MSGID: =?utf-8?q?1590631421744009659?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: On Wed, Jan 24, 2018 at 06:14:39PM +0100, Sebastian Reichel wrote: > Traditionally, PORTSC should be set before initializing ULPI phys. But > setting PORTSC before powering on the phy results in a kernel freeze > on imx53 based GE PPD. As a workaround this initializes the phy early > in the imx platform code and disables phy power management from the > core. > > Signed-off-by: Fabien Lahoudere > Signed-off-by: Sebastian Reichel > --- > drivers/usb/chipidea/ci_hdrc_imx.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c > index de155c80eb70..e431c5aafe35 100644 > --- a/drivers/usb/chipidea/ci_hdrc_imx.c > +++ b/drivers/usb/chipidea/ci_hdrc_imx.c > @@ -83,6 +83,7 @@ struct ci_hdrc_imx_data { > struct clk *clk; > struct imx_usbmisc_data *usbmisc_data; > bool supports_runtime_pm; > + bool override_phy_control; > bool in_lpm; > /* SoC before i.mx6 (except imx23/imx28) needs three clks */ > bool need_three_clks; > @@ -254,6 +255,7 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev) > int ret; > const struct of_device_id *of_id; > const struct ci_hdrc_imx_platform_flag *imx_platform_flag; > + struct device_node *np = pdev->dev.of_node; > > of_id = of_match_device(ci_hdrc_imx_dt_ids, &pdev->dev); > if (!of_id) > @@ -288,6 +290,14 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev) > } > > pdata.usb_phy = data->phy; > + > + if (of_device_is_compatible(np, "fsl,imx53-usb") && pdata.usb_phy && > + of_usb_get_phy_mode(np) == USBPHY_INTERFACE_MODE_ULPI) { > + pdata.flags |= CI_HDRC_OVERRIDE_PHY_CONTROL; > + data->override_phy_control = true; > + usb_phy_init(pdata.usb_phy); > + } > + > pdata.flags |= imx_platform_flag->flags; > if (pdata.flags & CI_HDRC_SUPPORTS_RUNTIME_PM) > data->supports_runtime_pm = true; > @@ -341,6 +351,8 @@ static int ci_hdrc_imx_remove(struct platform_device *pdev) > pm_runtime_put_noidle(&pdev->dev); > } > ci_hdrc_remove_device(data->ci_pdev); > + if (data->override_phy_control) > + usb_phy_shutdown(data->phy); > imx_disable_unprepare_clks(&pdev->dev); > > return 0; > -- Applied both, thanks. -- Best Regards, Peter Chen From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [2/2] usb: chipidea: imx: Fix ULPI on imx53 From: Peter Chen Message-Id: <20180126025116.GA6921@b29397-desktop> Date: Fri, 26 Jan 2018 10:51:16 +0800 To: Sebastian Reichel Cc: Peter Chen , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Ian Ray , Nandor Han , Fabien Lahoudere , kernel@lists.collabora.co.uk List-ID: T24gV2VkLCBKYW4gMjQsIDIwMTggYXQgMDY6MTQ6MzlQTSArMDEwMCwgU2ViYXN0aWFuIFJlaWNo ZWwgd3JvdGU6Cj4gVHJhZGl0aW9uYWxseSwgUE9SVFNDIHNob3VsZCBiZSBzZXQgYmVmb3JlIGlu aXRpYWxpemluZyBVTFBJIHBoeXMuIEJ1dAo+IHNldHRpbmcgUE9SVFNDIGJlZm9yZSBwb3dlcmlu ZyBvbiB0aGUgcGh5IHJlc3VsdHMgaW4gYSBrZXJuZWwgZnJlZXplCj4gb24gaW14NTMgYmFzZWQg R0UgUFBELiBBcyBhIHdvcmthcm91bmQgdGhpcyBpbml0aWFsaXplcyB0aGUgcGh5IGVhcmx5Cj4g aW4gdGhlIGlteCBwbGF0Zm9ybSBjb2RlIGFuZCBkaXNhYmxlcyBwaHkgcG93ZXIgbWFuYWdlbWVu dCBmcm9tIHRoZQo+IGNvcmUuCj4gCj4gU2lnbmVkLW9mZi1ieTogRmFiaWVuIExhaG91ZGVyZSA8 ZmFiaWVuLmxhaG91ZGVyZUBjb2xsYWJvcmEuY28udWs+Cj4gU2lnbmVkLW9mZi1ieTogU2ViYXN0 aWFuIFJlaWNoZWwgPHNlYmFzdGlhbi5yZWljaGVsQGNvbGxhYm9yYS5jby51az4KPiAtLS0KPiAg ZHJpdmVycy91c2IvY2hpcGlkZWEvY2lfaGRyY19pbXguYyB8IDEyICsrKysrKysrKysrKwo+ICAx IGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3VzYi9jaGlwaWRlYS9jaV9oZHJjX2lteC5jIGIvZHJpdmVycy91c2IvY2hpcGlkZWEvY2lfaGRy Y19pbXguYwo+IGluZGV4IGRlMTU1YzgwZWI3MC4uZTQzMWM1YWFmZTM1IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvdXNiL2NoaXBpZGVhL2NpX2hkcmNfaW14LmMKPiArKysgYi9kcml2ZXJzL3VzYi9j aGlwaWRlYS9jaV9oZHJjX2lteC5jCj4gQEAgLTgzLDYgKzgzLDcgQEAgc3RydWN0IGNpX2hkcmNf aW14X2RhdGEgewo+ICAJc3RydWN0IGNsayAqY2xrOwo+ICAJc3RydWN0IGlteF91c2JtaXNjX2Rh dGEgKnVzYm1pc2NfZGF0YTsKPiAgCWJvb2wgc3VwcG9ydHNfcnVudGltZV9wbTsKPiArCWJvb2wg b3ZlcnJpZGVfcGh5X2NvbnRyb2w7Cj4gIAlib29sIGluX2xwbTsKPiAgCS8qIFNvQyBiZWZvcmUg aS5teDYgKGV4Y2VwdCBpbXgyMy9pbXgyOCkgbmVlZHMgdGhyZWUgY2xrcyAqLwo+ICAJYm9vbCBu ZWVkX3RocmVlX2Nsa3M7Cj4gQEAgLTI1NCw2ICsyNTUsNyBAQCBzdGF0aWMgaW50IGNpX2hkcmNf aW14X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAlpbnQgcmV0Owo+ICAJ Y29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCAqb2ZfaWQ7Cj4gIAljb25zdCBzdHJ1Y3QgY2lfaGRy Y19pbXhfcGxhdGZvcm1fZmxhZyAqaW14X3BsYXRmb3JtX2ZsYWc7Cj4gKwlzdHJ1Y3QgZGV2aWNl X25vZGUgKm5wID0gcGRldi0+ZGV2Lm9mX25vZGU7Cj4gIAo+ICAJb2ZfaWQgPSBvZl9tYXRjaF9k ZXZpY2UoY2lfaGRyY19pbXhfZHRfaWRzLCAmcGRldi0+ZGV2KTsKPiAgCWlmICghb2ZfaWQpCj4g QEAgLTI4OCw2ICsyOTAsMTQgQEAgc3RhdGljIGludCBjaV9oZHJjX2lteF9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJfQo+ICAKPiAgCXBkYXRhLnVzYl9waHkgPSBkYXRh LT5waHk7Cj4gKwo+ICsJaWYgKG9mX2RldmljZV9pc19jb21wYXRpYmxlKG5wLCAiZnNsLGlteDUz LXVzYiIpICYmIHBkYXRhLnVzYl9waHkgJiYKPiArCSAgICBvZl91c2JfZ2V0X3BoeV9tb2RlKG5w KSA9PSBVU0JQSFlfSU5URVJGQUNFX01PREVfVUxQSSkgewo+ICsJCXBkYXRhLmZsYWdzIHw9IENJ X0hEUkNfT1ZFUlJJREVfUEhZX0NPTlRST0w7Cj4gKwkJZGF0YS0+b3ZlcnJpZGVfcGh5X2NvbnRy b2wgPSB0cnVlOwo+ICsJCXVzYl9waHlfaW5pdChwZGF0YS51c2JfcGh5KTsKPiArCX0KPiArCj4g IAlwZGF0YS5mbGFncyB8PSBpbXhfcGxhdGZvcm1fZmxhZy0+ZmxhZ3M7Cj4gIAlpZiAocGRhdGEu ZmxhZ3MgJiBDSV9IRFJDX1NVUFBPUlRTX1JVTlRJTUVfUE0pCj4gIAkJZGF0YS0+c3VwcG9ydHNf cnVudGltZV9wbSA9IHRydWU7Cj4gQEAgLTM0MSw2ICszNTEsOCBAQCBzdGF0aWMgaW50IGNpX2hk cmNfaW14X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJCXBtX3J1bnRp bWVfcHV0X25vaWRsZSgmcGRldi0+ZGV2KTsKPiAgCX0KPiAgCWNpX2hkcmNfcmVtb3ZlX2Rldmlj ZShkYXRhLT5jaV9wZGV2KTsKPiArCWlmIChkYXRhLT5vdmVycmlkZV9waHlfY29udHJvbCkKPiAr CQl1c2JfcGh5X3NodXRkb3duKGRhdGEtPnBoeSk7Cj4gIAlpbXhfZGlzYWJsZV91bnByZXBhcmVf Y2xrcygmcGRldi0+ZGV2KTsKPiAgCj4gIAlyZXR1cm4gMDsKPiAtLSAKCkFwcGxpZWQgYm90aCwg dGhhbmtzLgo=